如果我对迈克·阿什的"Zeroing Weak References" writeup篇文章的解读是正确的,那么弱引用就像没有弧的assign篇引用一样.但是,如果引用的对象被解除分配,指针将被设置为nil,而不是获得"悬挂指针"(指指向解除分配对象的指针).

这是对的吗

如果这是正确的,这将消除很多SIGABRT.

推荐答案

这基本上是正确的,但assign个属性仍然被视为与以往一样,只有weak个属性被归零.另一个警告是,弱引用归零仅在Mac OS X中可用≥ 10.7和iOS≥ 5.虽然ARC的其余部分被后传到了10.6和iOS 4,但在这些操作系统上根本不能使用弱引用.

Objective-c相关问答推荐

[NSNull new]和[NSNull NULL]有什么不同?

覆盖@property setter 和无限循环

跨平台 iPhone/Android 代码共享

当我从导航控制器推送时如何隐藏导航栏?

与 iOS 6.0 原生 Facebook 集成共享:通过我的应用名称发布?

如何使用整数值作为键在 NSMutableDictionary 中设置值?

iOS:将 URL 解析为段

Objective-C 的 Eclipse 插件?

lldb 无法打印变量值并显示错误:对 'id' 的引用不明确

Objective-C 中是否有一些文字字典或数组语法?

在 ios8 中没有调用 didRegisterForRemoteNotificationsWithDeviceToken,但是 didRegister...Settings 是

Objective-C:前向类声明

IOHIDFamily 的神秘控制台错误

UICollectionView 自动调整高度

NSMutableArray addObject 不起作用

获取最顶层的 UIViewController

根据文本量更改 UITableViewCell 高度

iPhone如何在打字时获取UITextField的文本?

使用正则表达式查找/替换 NSString 中的子字符串

Unwind Segue 在 iOS 8 中不起作用