-2

これがシナリオです。MyObject クラスがあり@property (strong) NSObject *aObj、"MyObject.h" でプロパティを宣言するとします。次に、このプロパティを「MyObject.m」で使用します。

A. self.aObj = [[NSObject alloc] init];

B. aObj = [[NSObject alloc] init];

A でメモリ リークがあるのだろうかと思います。MRC では、strong が保持されている場合、A でメモリ リークが発生するようです。ARCの場合、これでもメモリリークが発生しますか?

4

2 に答える 2

0

いいえ、ARC ではどちらもメモリ リークを引き起こしません。ARC は、これらのケースを処理するのに十分スマートです。

于 2012-10-18T03:24:50.270 に答える
0

(A) MRC でリークし、RHS は所有されたオブジェクトを返し、プロパティ セッターはこれを 2 回目として保持します。ARCでは漏れません。

(B) MRC でリークする可能性があります。変数にaObjは、解放されない所有参照が含まれている可能性があります。ARCでは漏れません。

于 2012-10-18T03:25:24.067 に答える