インスタンス メソッドがコンビニエンス コンストラクターで初期化された値を返す場合、コンビニエンス コンストラクターの自動解放が発生したときにオブジェクトが削除されないように、そのオブジェクトを保持し、戻り値で自動解放する必要がありますか。
これは、呼び出し元のコードの前に説明を解放し、retain などで所有権を取得しますか?
- (NSStringMutable *)test {
NSMutableString *description = [NSMutableString stringWithString:@"Test Value"];
return description;
}
それともこうあるべき?
- (NSStringMutable *)test {
NSMutableString *description = [NSMutableString stringWithString:@"Test Value"];
[description retain];
return [description autorelease];
}
コーリング コード:
NSMutableString *testVar = [[NSMutableString alloc] initWithString:[object description]];