In 活性可可 https://github.com/ReactiveCocoa/ReactiveCocoa有宏可以防止循环引用@weakify
和@strongify。据我了解@weakify
做一些像我通常做的事情,即创建__weak
在块中使用的参考,但是怎么样@strongify
?
为什么我需要在区块中再次使其变得强大?
以下是一些示例用法:
@weakify(self);
[RACObserve(self, username) subscribeNext:^(NSString *username) {
@strongify(self);
[self validateUsername];
}];
如果您仅在块内使用弱引用,则 self 可能会在执行块时被释放。但是,如果您想确保 self 保留在内存中直到块执行完毕,则必须将弱引用转换回强引用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)