@autoreleasepoolがどのように機能するかを理解し、ARCがサポートされている最新バージョンのxcodeを使用しているので、それを使用できますが、クラス内でどのように機能するかを理解できませんでした。
私がこのインターフェースを持っているとしましょう:
@interface AppDelegate : NSObject <NSApplicationDelegate>
{
@private
NSMutableDictionary* dictionary;
}
そして、initメソッドで辞書を割り当てて初期化します。
- (id) init
{
self= [super init];
if(self)
{
dictionary=[[NSMutableDictionary alloc]init];
}
return self;
}
ARCの下にいるため、deallocメソッドでは、リリースメッセージを辞書に送信できません。したがって、通常メモリを割り当てるときは、次のようにします。
@autoreleasepool
{
NSMutableDictionary* dict=[[NSMutableDictionary alloc]init];
< use it>
}
PS:構文エラーはご容赦ください。コンパイルせずに直接記述しました。
しかし、クラスでは、「@ autoreleasepool」ブロックをどこに配置しますか?