のは、私はそうのような強い性質を持っているとしましょうARCを使用しているときに、自動解放イニシャライザの結果にプロパティを割り当てることは安全ですか?</p> <pre><code>@interface Foo @property (strong, nonatomic) NSArray *myArray; @end </code></pre> <p>そして、私の初期化子で、私はそうのようなmyarrayの設定:
myArray = [NSArray array];
は、この安全ですか? ARCは私のためにmyArrayを適切に保持してくれますか?
私が尋ねる理由は、このシナリオではが適切に保持されていないmyArray のプロジェクトがあり、道路に悪いメモリアクセスが発生することです。
しかし、私は
myArray = [[NSArray alloc] init];
を使用する場合、すべてが順調です。
"私の初期設定で"あなたのクラスの 'init [With ...]'メソッドが正しいことを意味しますか? –
あなたはあなたの課題でプロパティを使用していません。あなたは裏地のivarに直接割り当てています(これはイニシャライザで正しいです)。しかし、それは重要ではありません、ARCはどちらかの方法でこの配列を保持します。 (背中のivar自体も__strongでなければならないので) –