为什么消息发送会导致ARC中的保留周期警告,但属性集不会?

Aar*_*ron 12 memory memory-management objective-c ios automatic-ref-counting

[self.foo setBlock:^{
    [self doSomething]; // causes warning
}];
Run Code Online (Sandbox Code Playgroud)

[self.foo setBlock:^{
    self.bar = baz;     // does not cause warning
}];
Run Code Online (Sandbox Code Playgroud)

警告是" self在这个区块中强势捕获可能会导致保留周期."

两者都不会导致强烈的参考?

Sve*_*ven 1

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

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