1

ここで基本的な質問。ARC の使用を開始しましたが、別のオブジェクトが所有権を取得する状況でオブジェクトを解放する必要があるかどうかわかりません。

例えば[self.view addSubview:someViewController.view];

このビューを解放する必要がありますか、それともそのままにしておくことができますか?

配列にオブジェクトを追加する場合、配列にオブジェクトの所有権があるため、後でそれらを解放する必要がありますか、それともそのままにしておくことができますか?

4

3 に答える 3

1

ARCでは、何もリリースできません。コンパイラは、特定のオブジェクトをいつどこで解放するかを判断します。自分でそれを行うことは許可されていません。

ARC を使用していない場合、答えは次のようになります。 オブジェクトを保持 (または new を使用してコピー、割り当て、または作成)し、参照が完了した場合はオブジェクトを解放ます。したがって、 を使用してオブジェクトを作成し、allocそれを配列に追加した後、そのオブジェクトを自分で追跡する必要がなくなった場合は、はい、それを解放する必要があります。配列やその他のコレクションは、それらに含まれるオブジェクトを保持します。ただし、これはARC を使用していない場合のみです。使用している場合、何かを解放することを心配する必要はありません。

于 2012-07-02T18:41:56.400 に答える