繁体   English   中英

如何从 NSMutableArray 分配 integer

[英]How to assign integer from NSMutableArray

我想通过使用 NSMutableArray 分配 NSInteger 有什么办法可以解决这个问题吗? 它在模拟器上不起作用并在运行应用程序时被切断。

NSInteger Section;
NSMutableArray dataSourceSection;

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

谢谢你。

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

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

要获取 object 并检索 integer 值,请使用,

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

您不能将 NSInteger 从 NSMutableArray 中拉出,主要是因为除了对象之外,您不能放入任何东西。在您的情况下,NSNumber 是在 NSMutablearray 中放入数字的方法。 如果你这样做,你可以很容易地得到你的 object,它是一个 NSNumber,并通过以下方式将其转换为 NSInteger:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM