45

如果我对 Mike Ash 的“归零弱引用”文章的阅读是正确的,那么弱引用就像assign没有 ARC 的引用。但是,如果引用的对象被释放,而不是获得“悬空指针”(意味着指向释放对象的指针),指针被设置为nil.

这是正确的吗,这是否发生在任何标记的属性weakassign(当 ARC 处于活动状态时)?

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

4

1 回答 1

38

这基本上是正确的,但assign属性仍然像以前一样被对待,只有weak那些被归零。另一个需要注意的是,弱引用归零仅在 Mac OS X ≥ 10.7 和 iOS ≥ 5 中可用。虽然 ARC 的其余部分向后移植到 10.6 和 iOS 4,但在这些操作系统上根本不能使用弱引用。

于 2011-08-30T16:30:59.320 回答