可以doFirst
在这里导致保留周期?在调用另一个引用self的方法的块内调用方法是否会导致保留周期?
@interface Example : NSObject
@property (nonatomic, strong) void (^block)();
@end
@implementation Example
- (void)doFirst
{
__weak id weakSelf = self;
self.block =^{
[weakSelf doSecond];
};
self.block();
}
- (void)doSecond
{
self.value = //...
// do other stuff involving self
}
@end
引用weakSelf时有用的提示是做这样的事情:'__weak typeof(self)weakSelf = self'。在不同的地方重复使用代码时使事情变得更容易等 – liamnichols