我有一個NSMutablearray對象。對象的數量由用戶設置。在C++中我會用一個用於循環和「新」 command.something這樣的:在obj-c中新建和刪除C++命令
int fromuser, a;
for(a=0;a<fromuser;a++){
array addobject:(new class obj)
}
什麼,我需要在OBJ C++做的,因爲沒有新的?
我有一個NSMutablearray對象。對象的數量由用戶設置。在C++中我會用一個用於循環和「新」 command.something這樣的:在obj-c中新建和刪除C++命令
int fromuser, a;
for(a=0;a<fromuser;a++){
array addobject:(new class obj)
}
什麼,我需要在OBJ C++做的,因爲沒有新的?
您將使用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。 – 2012-01-05 19:08:58
@WTP兩個非常有效的點。我添加了'release'以防萬一任何不使用ARC的人引用這個答案。 – 2012-01-05 20:10:54
工作,thx很多! – thepepp 2012-01-05 22:50:01
其實,有可可一個'new':http://stackoverflow.com/questions/719877/use-of-alloc-init -instead-of-new-objective-c – Monolo 2012-01-06 03:34:39