【发布时间】:2010-02-11 09:00:29
【问题描述】:
如何将接口对象分配给协议对象? 我有一个协议A 和协议B。两种协议的所有方法都在 MyClass 中实现。如何限制只能访问协议 A 的方法和协议 B 的方法?编码是在 Objective-C for iPhone 应用程序中完成的。
【问题讨论】:
标签: objective-c interface protocols
如何将接口对象分配给协议对象? 我有一个协议A 和协议B。两种协议的所有方法都在 MyClass 中实现。如何限制只能访问协议 A 的方法和协议 B 的方法?编码是在 Objective-C for iPhone 应用程序中完成的。
【问题讨论】:
标签: objective-c interface protocols
在创建对象时,您可以这样做:
id <protocolA> protocolAObject = [[MyClass alloc] init];
现在,除非您使用显式强制转换,否则您不能使用 protocolB 方法。
您还可以将 MyClass 类的对象转换为 protocolA 或 protocolB,如下所示:
MyClass *myClassObject = [[MyClass alloc] init];
id <protocolB> protocolBObject = (id <protocolB>) myClassObject;
【讨论】: