私は直接ARCを使ってivarを初期化することができますか(ARCなしではうまくいきませんでした。 ?Objective-C - ARCを使ってオブジェクトを割り当て/初期化する
例(このように宣言IVAR考える):
@property (nonatomic, strong) NSArray *myArray;
@synthetize myArray = _myArray;
を、あなたのdealloc
方法でそれを放出しなかった場合は、その後、それは希望
self.myArray = [[NSArray alloc] initWithObjects:object1, object2, nil]; //I know I could directly use [NSArray arrayWithObjects:...] but that's the purpose of my question
これは間違っています。もちろん、ARCコードで 'alloc'を使うことはできますが、' retain'や 'release'や' autorelease'を使うことはできません。また、ARCは自動解放プールにすべてを配置するだけではありません。コードを分析して各参照の有効期間を判断し、メモリ管理メソッドへの適切な呼び出しを挿入します。 – Caleb
はretainを使用できないことに同意しますが、ライフサイクルは同じままであると言いました。 2行目と3行目を読む – zahreelay
はい、最初に書きました。「引き続き割り当てることができます。」 1行目を読む。私が指摘したように、「すべてのARCは...」という文章は誤解を招くほどのものです。 – Caleb