Objective-C Mapping for Local Classes
On this page:
Mapped Objective-C Class
A local Slice class is mapped to an Objective-C protocol and interface with the same name. For example:
Slice
module Ice
{
local class ConnectionInfo
{
...
}
}
is mapped to the Objective-C protocol and interface ICEConnectionInfo:
Objective-C
@protocol ICEConnectionInfo <NSObject> @end @interface ICEConnectionInfo : ICELocalObject ... @end
LocalObject in Objective-C
Like local interfaces, local Slice classes implicitly derive from LocalObject, which is mapped to ICELocalObject in Objective-C.
Mapping for Local Interface Inheritance in Objective-C
A local Slice class can extend another local Slice class, and can implement one or more local Slice interfaces. extends and implements are mapped to interface and protocol inheritance in Objective-C. For example:
Slice
module M
{
local interface A {}
local interface B {}
local class C implements A, B {}
local class D extends C {}
}
is mapped to:
Objective-C
@protocol MA <NSObject> @end @protocol MB <NSObject> @end @protocol MC <MA, MB> @end @interface MC : ICELocalObject +(id) c; @end @protocol MD <MC> @end @interface MD : MC +(id) d; @end