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

されている警告「このブロックで強くselfのキャプチャが保持サイクルにつながる可能性が高いです。」メッセージを送信すると、ARCでサイクルの保持が警告されるが、プロパティセットは保持されないのはなぜですか?</p> <pre><code>[self.foo setBlock:^{ self.bar = baz; // does not cause warning }]; </code></pre> <p>対

強い参照につながることはありませんか?

+0

2番目の例を '[self setBar:baz];'に変更すると警告が表示されますか? –

+0

はい、その構文を使用してプロパティを設定するとします。 – Aaron

+16

コンパイラのバグ。将来のバージョンで修正される可能性があります。 – bbum

答えて

1

これはコンパイラのバグであり、Appleにバグレポートを提出する必要があります。

どちらも同じです。a.b = cは、書き込みのための別の方法です。[a setB: c]です。コンパイラが別のものを扱う場合、これはバグです。

+0

なぜこれを下降させましたか? –

関連する問題

 関連する問題