2014-01-19 51 views

回答

1

不,它不是一個對象,因此你可以不把它放在NSArray。您必須將其包裝在NSNumber中,這是一個對象,可以放在NSArray中。

2

原始類型,如int,必須先包裝在對象中,然後才能將其添加到類似NSMutableArray的集合類中。試試這個:

int nameOfVariable = 42; 
NSMutableArray *array = ... // the initialized array 
[array addObject:@(nameOfVariable)]; 

最後一行是現代語法,基本上是指:

[array addObject:[NSNumber numberWithInt:nameOfVariable]]; 

後來,當你需要獲得值回,你這樣做:

int someVariable = [array[someIndex] intValue]; 
0

int是從C繼承的原始類型(其他基本類型的例子是char,long,float等)。這些不是Objective-C對象。要將基元類型添加到NSMutableArray或任何其他Objective-C集合中,必須將它們包裝在一個對象中。對於int等數字類型,您可以使用NSNumber,如下所示:

int i = 1; 
[array addObject:@(i)]; // @(i) is equivalent to [NSNumber numberWithInt:i] 
相關問題