私は2つのIBOutletsを持つナビゲーションコントローラスタックの一部としてView Controllerを持っています。 viewDidUnloadでは、私はそれらを解放する:deallocでIBOutletをリリースする必要がありますか?
- (void)viewDidUnload
{
self.myView1 = nil;
self.myView2 = nil;
[super viewDidUnload];
}
しかし、私はまだ漏れがあった。だから私は彼らのためのdeallocのリリースメッセージを貼り付けた:
- (void)dealloc
{
[myView1 release];
[myView2 release];
[super dealloc];
}
これはメモリリークをクリアするように見えます。しかし、私は常に私がalloc、copyまたはnewを使って作成したivarsをリリースすべきだと言われました。だから、私はこれら二つのリリースがここにあることを心配している。これは間違いありませんか?私は矛盾した意見を得続けているので誰かが私にこのことを説明してもらえますか...ありがとう!
ありがとうございました。私は "alloc、copy、またはretain"のルールを聞いていましたが、ロード時にXIBがそれを保持しているという事実を本当に考慮しませんでした。私はこれを私の心に浸してみよう! – jowie