- 对代理的理解就是代理对象内存的传递和操作,我们在委托类设置代理对象后,实际上只是用一个id类型的指针将代理对象进行了一个弱引用(strong容易发生循环引用,weak比assin更安全,指明该对象并不负责保持delegate这个对象,delegate这个对象的销毁由外部控制。当delegate指向的对象销毁后,delegate = nil。尽管苹果建议我们使用assign,因为weak比较浪费性能,希望我们自己处理这些问题)。在委托方.h文件中
@property(nonatomic,weak) id<ProtocalCondition> delegate;
- 委托方让代理方执行操作,实际上是在委托类中向这个id类型指针指向的对象发送消息,而这个id类型指针指向的对象,就是代理对象。设置委托代理就是代理属性指针指向代理对象
self.delegate=protocalobject
@interface ProClass:NSObject<ProtocalCondition>
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。