所以在Objective-C中我可以引用实现某些协议的对象:
id<MyAwesomeProtocol> object;
我可以引用某个类,如下所示:
MyAwesomeClass *object;
我想知道,我该怎么做才能引用MyAwesomeClass或任何子类。
我当然可以使用id
,但我想知道是否有更好的方法。
谢谢!
答案 0 :(得分:4)
要引用类或其子类的对象,您仍然可以编写
MyAwesomeClass *object;
答案 1 :(得分:1)
一般情况下,最好使用NSObject*
代替id
。所有Objective-C对象都是NSObject
的后代,那么为什么要忽略所有NSObject
个好东西呢?
如果您正在处理MyAwesomeClass
或子类,我会使用MyAwesomeClass
* object。如果您只是使用协议方法(在协议的上下文中),那么我将使用NSObject <MyAwesomeProtocol> *object
。