2011-09-14 5 views
0

NSAutoreleasePoolをビューで使用する方法はありますか(ちょうど.hファイルとdeallocというものを.mファイルのdeallocメソッドで定義しているように)。
可能ですか?ビューにNSAutoreleasePoolを使用できますか?

+0

あなたは何を求めていますか?あなたのクラスに 'NSAutoreleasePool'型のプロパティ/ ivarを持たせたいですか? – LucasTizma

答えて

1

いいえ、これは行わないでください。 Appleのautorelease poolsドキュメントから

自動解放プールは常に同じコンテキストに排水する必要があり、それが作成された(このような方法や関数、またはループ本体の呼び出しなど)。

と次の段落

自動解放プールが使用されている「インライン」を一般的には、オブジェクトの自動解放プールインスタンス変数を作成する必要がありますない理由があってはなりません。

+0

4あなたの良い答えに感謝、私は試みたが、私は良い結果を得ていなかったので、今なぜ私はそれが動作しなかった知っている;) –

0

もちろん可能です。私はあなたがそれを分析する必要がありますので、それは、あなたの状況に理にかなっているかどうかわからないですが、あなたはしたい場合:.mファイルで.hファイル

@interface MyView : UIView 
{ 
    NSAutoReleasePool *pool; 
} 
// rest of view 

@implementation MyView 

- (id) initXYZ // whatever initializer you have... 
{ 
    self = [super init...]; 
    if (self) 
    { 
     pool = [[NSAutoReleasePool alloc] init]; 
     // rest of initialization 
    } 
    return self; 
} 

- (void) dealloc 
{ 
    // rest of dealloc 
    [pool drain]; 
    [super dealloc]; 
} 

私が言ったように、あなたがあなたのビューにたくさんの小さなオブジェクトを割り当てない限り、意味があるかどうかはわかりません。

関連する問題