可能重复:strong / weak / retain / unsafe_unretained / assign
在ARC下,unsafe_unretained和weak之间有什么区别?非常感谢 .
从文档:
weak指定不使引用对象保持活动状态的引用 . 当没有对象的强引用时,弱引用设置为nil .
Assign 与 weak 相同,只是它没有将指向解除分配的实例的指针设置为nil,可能会留下悬空指针 . Assign 和 unsafe_unretained 的用法相同 .
Assign
weak
unsafe_unretained
编辑:哦,我,似乎我大量混淆属性属性和所有权限定符;我的原始答案是正确的答案 . Assign 和 unsafe_unretained 都是属性属性,它们为其后备实例变量暗示了所有权限定符 __unsafe_unretained . 使用 unsafe_unretained 向后兼容iOS 4和 assign 否则 .
__unsafe_unretained
assign
1 回答
从文档:
Assign
与weak
相同,只是它没有将指向解除分配的实例的指针设置为nil,可能会留下悬空指针 .Assign
和unsafe_unretained
的用法相同 .编辑:哦,我,似乎我大量混淆属性属性和所有权限定符;我的原始答案是正确的答案 .
Assign
和unsafe_unretained
都是属性属性,它们为其后备实例变量暗示了所有权限定符__unsafe_unretained
. 使用unsafe_unretained
向后兼容iOS 4和assign
否则 .