如何从NSMutableArray分配整数

时间:2011-06-12 18:42:56

标签: objective-c ios4 nsarray iphone

我想通过使用NSMutableArray分配NSInteger有没有办法解决这个问题? 在运行应用程序时,它无法在模拟器上运行并切断。

NSInteger Section;
NSMutableArray dataSourceSection;

Section = (NSInteger)[dataSourceSection objectAtIndex:2];

谢谢。

2 个答案:

答案 0 :(得分:8)

NSMutableArray仅存储对象。 NSInteger不是对象,而是原始数据类型。但是,有一个类NSNumber可用于在对象内存储数值。这是一个例子。

NSNumber *five = [NSNumber numberWithInteger:5];
NSMutableArray *numbers = [NSMutableArray array];
[numbers addObject:five];

要获取对象并检索整数值,请使用

NSNumber *firstNumber = [numbers objectAtIndex:0];
NSInteger valueOfFirstNumber = [firstNumber integerValue];

答案 1 :(得分:0)

你不能从NSMutableArray中提取NSInteger,主要是因为在你的情况下你不能放入任何东西而不是对象.NSNumber是将数字放入NSMutablearray的方法。如果您这样做,您可以轻松获取您的对象,这是一个NSNumber,并通过以下方式将其转换为NSInteger:

NSMutableArray *array = [[NSMutableArray alloc] init];
// populate the array with NSNumbers
NSInteger number = [[array objectAtIndex:2] intValue];