可以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