代理修饰之assign和week

问题:程序crash掉,报错EXC_BAD_ACCESS

经过一番研究,发现如果使用

@property (nonatomic, assign, readwrite) id delegate;

声明一个delegate,那么即便delegate指向的对象销毁了,delegate中依然会保存之前对象的地址

即,delegate成为了一个野指针...

而使用weak,则不会有上述问题,当delegate指向的对象销毁后,delegate = nil,

所以答案就是,使用weak。

你可能感兴趣的:(代理修饰之assign和week)