iOS中delegate代理对象使用weak和assign哪个?

在定义delegate对象的时候,我们经常看到可以使用weak 和 assign 但是到底哪个使用更合适呢?

首先:使用assign,声明的对象即使对象销毁了,但是指针依然存在,这样造成声明的对象变成了野指针,这样导致内存泄露。

而使用 weak ,当对象销毁时,即将delegate = nil,这样不会产生野指针这种情况出现。

所以答案很明显 我们在定义代理对象的时候,通常使用weak来修饰。

 
原文地址:https://www.cnblogs.com/gepf/p/4913608.html