Delegate详解

1.代理用weak和assign有什么区别

assign:当delegate指向的对象销毁了,指针赋值不对引用计数操作,delegate中依然会保存之前对象的地址,delegate成 为了一个野指针。

weak:当delegate指向的对象销毁后,delegate = nil

2.正确声明方式

@protocolProductListCellDelegate <NSObject>

-(void)clickLike;

@end

@property(weak,nonatomic)    id<ProductListCellDelegate>  delegate;


3.NSObject * 和id<NSObject> 的区别

NSObject *就是NSObject类型的指针。

id<NSObject>是指针,它要求它指向的类型要实现NSObject protocol

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容