【问题标题】:unsafe_unretained and weak and assign under ARC? [duplicate]unsafe_unretained 和弱并在 ARC 下分配? [复制]
【发布时间】:2013-02-03 04:22:26
【问题描述】:

可能重复:
strong / weak / retain / unsafe_unretained / assign

unsafe_unretained 和weak and assign 有什么区别? 非常感谢。

【问题讨论】:

    标签: objective-c


    【解决方案1】:

    来自文档:

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

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

    编辑:哦,天哪,我似乎严重混淆了财产属性和所有权限定符;我原来的答案是正确的。 Assignunsafe_unretained 都是属性属性,它们暗示其支持实例变量的所有权限定符 __unsafe_unretained。使用unsafe_unretained 向后兼容iOS 4,否则使用assign

    【讨论】:

      猜你喜欢
      • 2012-04-04
      • 2012-01-13
      • 2012-02-14
      • 1970-01-01
      • 2011-12-08
      • 2014-08-06
      • 2012-08-19
      相关资源
      最近更新 更多