0

iOSアプリケーションをプログラミングしています。私はクラスCarとクラスWheelを持っています。クラスCarには1つのプロパティWheelがあります(この例でのみ、実際には、Carには複数のWheelがあります)。

クラスカー:

@property (nonatomic, retain) Wheel * wheel; //because it has retain, so I delete wheel in dealloc function.

Carオブジェクトがある場合、ホイールを初期化します。

Car* car = [[Car alloc] init];
car.wheel = [[Wheel alloc] init];

コードはリークメモリを作ると思いますが、XCodeのインストルメントツールのリーク検出ツールはそれを検出しません。それで、何が起こっているのですか?私は間違っているかもしれませんか?

助けてくれてありがとう。

4

1 に答える 1

1

wheel与えられたオブジェクトを保持するようにプロパティを宣言したので、オブジェクトにautoreleaseメッセージを送信しますWheel

Car* car = [[Car alloc] init];
car.wheel = [[[Wheel alloc] init] autorelease];
于 2013-02-19T03:54:25.350 に答える