我一直在读一本关于 Objective-C 设计模式的书,我读过很多次,比如
id <AProtocol> obj;
但我认为,在实践中,它并不真正可用,原因很简单:在 iOS 中,您必须管理对象上的内存调用释放。如果您使用“
id <Protocol>
”简单地声明它并且您需要释放该 obj,XCode 将警告您“释放”方法不在该协议(protocol)中。所以更现实的方法是
NSObject <AProtocol> *obj;
我对吗?
最佳答案
还有一个 NSObject 协议(protocol),所以你可以简单地定义:
@protocol AProtocol <NSObject>
那样
retain
, release
等 NSObject 的方法是可见的。另见 this question .
关于objective-c - 设计一个接口(interface)而不是 Objective-C 中的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5663959/