assign修饰符所有权为__unsafe _unretained 顾名思义,不安全,赋值指针,不对引用计数器进行操作,使用之后若不置为nil,会产生野指针;修饰对象一旦超出作用域再去访问该修饰的对象,访问已废弃对象造成crash;weak修饰符所有权为__weak ,两者都能避免循环引用,和__unsafe_unretained区别在于访问已废弃对象,此弱引用将自动失效,并将失效的对象指向nil
iOS 代理Delegate修饰为什么要用weak不用assign
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。