2012-10-27 32 views
0

StockHolding是我自己的类名,我想创建3个实例变量。代码的工作拷贝是这样的:在线上分配多个对象?

StockHolding *stock0 = [[StockHolding alloc] init]; 
StockHolding *stock1 = [[StockHolding alloc] init]; 
StockHolding *stock2 = [[StockHolding alloc] init]; 

但我的代码的第一次是这样的:

StockHolding *stock0, *stock1, *stock2 = [[StockHolding alloc] init]; 

这不会为我工作:(

我知道,我可以在路上创建多个浮点/ INT变量:

float *x, *y, *z; 

所以我的问题是,有没有什么办法让它可以在Objective-C中以这种方式分配多个实例变量?

回答

3
StockHolding *stock0, *stock1, *stock2 = [[StockHolding alloc] init]; 

相同

StockHolding *stock0; 
StockHolding *stock1; 
StockHolding *stock2 = [[StockHolding alloc] init]; 

它并没有真正意义上一行初始化多个对象。你的第一个方法很好。

+0

明白了,谢谢 – oppih

2

什么?即使在C中,你也不能做那样的事情。

int a, b, c = 3; //C is equal to 3, A and B has not been init yet 

你只是拿着C.空地址你不能只适用什么指针,除非你为它分配内存的是,同样适用于Objective-C的。

+0

所以我只能通过我的代码上限来分配stock2,对吗? – oppih

+0

是的,你必须手动分配和初始化每个变量。 – TheAmateurProgrammer