在ARC中归零弱引用

时间:2011-08-30 16:26:18

标签: objective-c clang automatic-ref-counting

如果我对Mike Ash的"Zeroing Weak References" writeup的阅读是正确的,那么弱引用就像没有ARC的assign引用一样。但是,如果引用的对象被释放,而不是获得“悬空指针”(意味着指向解除分配的对象的指针),则指针将设置为nil

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

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

1 个答案:

答案 0 :(得分:38)

这是最正确的,但assign属性仍然与以前一样对待,只有weak属于零。另一个警告是,仅在Mac OSX≥10.7和iOS≥5时可以使用归零弱引用。虽然ARC的其余部分被反向移植到10.6和iOS 4,但在这些OS上根本不能使用弱引用。