0

NSArray を他の値で再初期化する必要がある場合、これを行うのは正しいですか?

NSArray *array = [[NSArray alloc] initWithObjects:obj1, obj2, nil];
// ...
// some code
// ...
array = [[NSArray alloc] initWithObjects:obj3, obj4, nil];

ありがとう

4

4 に答える 4

3

はい、これは絶対に正しいです。新しいオブジェクトは以前のものとは完全に異なります。ARC を使用しているため、オブジェクト ポインターは新しいオブジェクトを指し、古いオブジェクトは解放されます。

オブジェクトを捨てて新しいオブジェクトを取得するため、再初期化とまったく同じではありませんが、NSArray は不変であるため、これが「再初期化」する唯一の方法です。

于 2013-07-12T07:18:41.647 に答える