[self.foo setBlock:^{ [self doSomething]; // causes warning }];
与
[self.foo setBlock:^{ self.bar = baz; // does not cause warning }];
警告是“在这个区块内强力捕获”可能导致保留周期.“
两者都不能引起强烈的参考?
两者都是一样的,a.b = c只是写一个不同的方法[一个setB:c].如果编译器处理一个不同于另一个这是一个错误.