【发布时间】:2013-05-06 18:53:38
【问题描述】:
我在 GitHub 上的 REActivityViewController 项目中发现了一行奇怪的代码,无法理解。它似乎避免将值转换为它被声明为的确切类,但我不知道为什么这是必要的。我想知道它是否对继承很重要。
谁能解释为什么会这样做?
__typeof(&*self) __weak weakSelf = self;
我会通过这种方式声明来更清楚地说明这一点......
id __weak weakSelf = self;
然后在块内我可以将其重新声明为强引用。
REPocketActivity* __strong strongSelf = (REPocketActivity*)weakSelf;
然后我会在块内使用strongSelf。当它超出范围时,它会安全地删除强引用。
【问题讨论】:
标签: c++ objective-c automatic-ref-counting weak-references typeof