我有一个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