__unsafe_unretained 和弱并在 ARC 下分配? [复制]

2023-12-20

可能的重复:
强/弱/保留/__unsafe_unretained/分配 https://stackoverflow.com/questions/9784762/strong-weak-retain-unsafe-unretained-assign

ARC下unsafe_unretained和weak和assign有什么区别? 多谢。


从文档中:

弱指定一个引用,该引用不会使被引用的对象保持活动状态。当没有强引用时,弱引用被设置为 nil 对对象的引用。

Assignweak但它不会将指向已释放实例的指针设置为 nil,从而可能留下悬空指针。Assign and unsafe_unretained用法相同。

编辑:天啊,看来我严重混淆了财产属性和所有权限定符;我原来的答案是正确的。Assign and unsafe_unretained都是隐含所有权限定符的财产属性__unsafe_unretained作为他们的支持实例变量。使用unsafe_unretained向后兼容 iOS 4 和assign否则。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

__unsafe_unretained 和弱并在 ARC 下分配? [复制] 的相关文章

随机推荐