オブジェクトがalloc、copy、またはretainで作成されている場合は、それ以降のリリースが必要です。便利なメソッドで作成されたオブジェクトはオートレリースされます。 しかし、 "="で定義され、メソッドの範囲で使用される一時変数はどうですか?例えば(iOS)一時変数のメモリ管理
NSError *error = nil;
NSString *tempString = @"foo";
int number = otherInt * 32;
NSUInteger row = [indexPath row];
NSArray *sameArrayDifferentPointer = otherArray;
あるいは
NSArray *sameArrayDifferentPointer = (*NSMutableArray) otherMutableArray;
私は最後のものは「悪い」ですが、細かいコンパイルし、例外をスローしません知っています。
2番目のケースはどのように優れていますか?変数に定数文字列を代入することは何も問題ありません。 – Caleb
もちろんです。そして、あなたは両方のバージョンの変数に定数文字列を割り当てています。より冗長なものは何が起こっているのかをより明確にします。これは明確にするために役立ちます。しかし、私の声明では、第二のものが「通常より良い」というのはおそらくあまりにも強かったので編集します。 –
完璧です。 Objective-CやCでも一般には非常に新しく、ポインタのコンセプトは依然として私を騙します。ありがとう。 – TijuanaKez