関数の内部にオブジェクトを作成して返している場合、このオブジェクトをどこから解放する必要がありますか?ここでは、オブジェクトを作成する例を示します。リリースオブジェクトが正しい方法で返されますか?
- (NSDictionary*) sampleFunction
{
NSMutableDictionary* state = [[NSMutableDictionary alloc] initWithCapacity:5];
[state setObject:[[NSNumber alloc] initWithInt:self.a] forKey:@"a"];
[state setObject:[[NSNumber alloc] initWithInt:self.b] forKey:@"b"];
[state setObject:[[NSNumber alloc] initWithInt:self.c] forKey:@"c"];
return state;
}
その他の質問:メモリリークを避けるために、ここで割り当てられたNSNumbersもリリースする予定ですか?このコードはメモリリークなしでどのように見えますか?
非常に参考になりました。ありがとうございます。 – Mark