[objective-c]手習いインスタンスの自動解放 2008/11/11

Objective-Cです。
インスタンスの自動解放(autorelease)です。
メモリ確保、解放といった手順をほとんど意識せずプログラムできる環境になれたので、頭がおいついておりません。


まだ使う場面が頭の中でイメージできてませんが、とりあえず、コード。
#import <Foundation/NSObject.h>
#import <Foundation/NSAutoreleasePool.h>
@interface A:NSObject
- (void)go;
@end
@implementation A

- (void)go
{
NSLog(@"OK");
}
@end

int main(void){
id a;
 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
a = [A alloc];
[a go];
[a autorelease];
[pool release];
return 0;
}


メモ。
 NSAutoreleasePoolはいくつも用意できる。
最後につくったものが現在のpool。
NSObjectにautoreleaseがあるが、 NSAutoreleasePoolにaddObjectがあるらしい。

: