weak :指明该对象并不负责保持delegate这个对象,delegate这个对象的销毁由外部控制器
strong 该对象强引用delegate 外界不能销毁delegate对象 会导致循环引用 retain cycles
A 引用 B B 引用 C C 有引用 A 如果用strong修饰 这个代理就会永远无法释放
如果用 assign 修饰 assign是指针赋值,不对引用计数进行操作,如果使用完毕以后,不把其置为nil,就有可能产生野指针,这时候如果操作 不当 会crash。
而weak使用完就没有了,所以weak更安全,其他也没啥区别