【发布时间】:2015-01-02 13:44:00
【问题描述】:
我对块的弱引用有基本的了解。我面临的问题是,
每当我在块内访问 self 时,self 的保留计数就会增加 2,而当我在默认块内访问 self 时(例如 UIViewAnimation)自己的保留计数增加了 1。
只是想了解为什么它会增加 2。
提前致谢!
【问题讨论】:
-
该块将希望保留“捕获的”iVar(如 self)以确保引用保持有效......即
self在执行之前不会解除分配。你会在这里找到很好的信息(MRC 和 ARC 的不同处理。stackoverflow.com/questions/19227982/using-block-and-weak -
也是为了更好地理解弱读dhoerl.wordpress.com/2013/04/23/…
-
@YvesLeBorg 感谢分享链接。我只是在检查特定情况下块的行为,它转到 2。
-
当 ARC 运行时,查看保留计数绝对没有意义。它只会让你感到困惑。您可以从任何保留计数中得出的结论很少,并且在涉及 ARC 时根本没有有效的结论。
标签: ios objective-c iphone objective-c-blocks weak-references