在定义delegate对象的时候,我们经常看到可以使用weak 和 assign 但是到底哪个使用更合适呢?
首先:使用assign,声明的对象即使对象销毁了,但是指针依然存在,这样造成声明的对象变成了野指针,这样导致内存泄露。
而使用 weak ,当对象销毁时,即将delegate = nil,这样不会产生野指针这种情况出现。
所以答案很明显 我们在定义代理对象的时候,通常使用weak来修饰。
在定义delegate对象的时候,我们经常看到可以使用weak 和 assign 但是到底哪个使用更合适呢?
首先:使用assign,声明的对象即使对象销毁了,但是指针依然存在,这样造成声明的对象变成了野指针,这样导致内存泄露。
而使用 weak ,当对象销毁时,即将delegate = nil,这样不会产生野指针这种情况出现。
所以答案很明显 我们在定义代理对象的时候,通常使用weak来修饰。