如果我对Mike Ash的"Zeroing Weak References" writeup的阅读是正确的,那么弱引用就像没有ARC的assign
引用一样。但是,如果引用的对象被释放,而不是获得“悬空指针”(意味着指向解除分配的对象的指针),则指针将设置为nil
。
这是正确的,是否会在标记为weak
或assign
的任何属性(ARC处于活动状态时)发生这种情况?
如果这是正确的,这将消除很多SIGABRT。
答案 0 :(得分:38)
这是最正确的,但assign
属性仍然与以前一样对待,只有weak
属于零。另一个警告是,仅在Mac OSX≥10.7和iOS≥5时可以使用归零弱引用。虽然ARC的其余部分被反向移植到10.6和iOS 4,但在这些OS上根本不能使用弱引用。