如何将接口对象分配给协议的对象? 我有一个protocolA和protocolB。这两个协议的所有方法都是在MyClass中实现的。如何限制只能访问protocolA的methid和protocolB的方法?编码是在Objective-C中为iPhone应用程序完成的。
答案 0 :(得分:2)
在创建对象时,您可以这样做:
id <protocolA> protocolAObject = [[MyClass alloc] init];
现在,除非使用显式强制转换,否则不能使用protocolB方法。
您还可以将MyClass类的对象强制转换为protocolA或protocolB,如下所示:
MyClass *myClassObject = [[MyClass alloc] init];
id <protocolB> protocolBObject = (id <protocolB>) myClassObject;