12
[self.foo setBlock:^{
    [self doSomething]; // causes warning
}];

相对

[self.foo setBlock:^{
    self.bar = baz;     // does not cause warning
}];

警告是“self在此块中强烈捕获可能会导致保留周期。”

两者都不会导致强有力的参考吗?

4

1 回答 1

1

这是一个编译器错误,您应该向 Apple 提交错误报告。

两者都是一样的,a.b = c只是写法不同而已[a setB: c]。如果编译器处理一个与另一个不同,这是一个错误。

于 2013-01-13T15:02:58.383 回答