私はオブジェクトのNSMutable配列を持っています。オブジェクトの数はユーザーによって設定されます。 C++では、私はサイクルのために使用すると、「新しい」このようcommand.something:新しいがないので、私はOBJ cで何をする必要がありますobj-cのC++の新規作成と削除コマンド
int fromuser, a;
for(a=0;a<fromuser;a++){
array addobject:(new class obj)
}
何?
私はオブジェクトのNSMutable配列を持っています。オブジェクトの数はユーザーによって設定されます。 C++では、私はサイクルのために使用すると、「新しい」このようcommand.something:新しいがないので、私はOBJ cで何をする必要がありますobj-cのC++の新規作成と削除コマンド
int fromuser, a;
for(a=0;a<fromuser;a++){
array addobject:(new class obj)
}
何?
NSObject
で提供されるalloc
とinit
(または特殊化された初期化子)を使用します。
たとえば、次のようなものが動作するはずです:
int fromuser, a;
NSMutableArray objectArray = [[NSMutableArray alloc] initWithCapacity:fromuser];
for (a = 0; a < fromuser; a++)
{
MyObject *obj = [[MyObject alloc] init];
[objectArray addObject:obj];
[obj release]; //If not using ARC
}
または、短い形式の '[MyObject new]'。また、ARCを使用しない限り、この例では '}'の前にそれを終えたら解放してください。 –
@WTP非常に有効な点です。 ARCを使用していない人がこの答えを参照する場合に備えて、私は 'release'を追加しました。 –
働いて、多くのthx! – thepepp
実は、ココア 'new'があります:http://stackoverflow.com/questions/719877/use-of-alloc-initは-instead-of-new-objective-c – Monolo