ここでは、メモリ管理についての例をいくつか示します。
最初の例では
- (NSString *) fullName {
NSString *string = [[[NSString alloc] initWithFormat:@"%@ %@", self.firstName, self.lastName] autorelease];
return string;
}
この例では、上記のメソッドが呼び出される方法です
{
Person *aPerson = [[Person alloc] init];
NSString *name = aPerson.fullName;
[aPerson release];
}
そのため、コード フローが閉じ中かっこに到達した後に *name が自動解放されると想定しています。
本当?
また、一般に、オブジェクトの自動解放は、そのオブジェクトを参照する変数のスコープと有効期間に依存します。
Objective-C プログラムでオブジェクトの自動解放プールを管理する基準はありますか?
ありがとう。