为什么当我们将弱引用传递给块内的强引用时它会起作用?如果块中的局部变量被保留,这应该添加一个保留self
,从而创建这个糟糕的保留循环?
这是示例:
__weak id weakSelf = self;
[self.operationQueue addOperationWithBlock:^{
NSNumber* result = findLargestMersennePrime();
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
MyClass* strongSelf = weakSelf;
strongSelf.textLabel.text = [result stringValue];
}];
}];