[英]Handle NSNumber and NSInteger
Following is a code snippet i am using to add data to nsmutable array, now I am not sure on what to type cast it on while extracting, i need integer value. 以下是我用来向nsmutable数组添加数据的代码段,现在我不确定在提取时将其强制转换为哪种类型,我需要整数值。 Problem is that I am getting warnings of 'id' and 'NSInteger' conversion. 问题是我收到“ id”和“ NSInteger”转换的警告。 What could be better way of extracting: 有什么更好的提取方法:
self.itemsBottom = [NSMutableArray array];
for (int i = 20; i < 30; i++)
{
[itemsBottom addObject:@(i)];
}
wanna do something like: 想做类似的事情:
NSInteger itemAddressed = [self.itemsBottom objectAtIndex:itemIndex]
In this statement 在此声明中
[itemsBottom addObject:@(i)];
you are boxing the integer
value to NSNumber
. 您将integer
数值装箱为NSNumber
。
While here 在这里
NSInteger itemAddressed = [self.itemsBottom objectAtIndex:itemIndex]
you are tried to store NSNumber to NSInteger, hence getting the error. 您试图将NSNumber存储到NSInteger,从而收到错误。
You can use : 您可以使用 :
NSInteger itemAddressed = [[self.itemsBottom objectAtIndex:itemIndex] integerValue];
Or in short : 或简而言之:
NSInteger itemAddressed = [self.itemsBottom[itemIndex] integerValue];
All seems reasonable...I would think the last line would need to be... 一切似乎都合理...我想最后一行应该是...
NSInteger itemAddressed = [self.itemsBottom[itemIndex] integerValue];
Maybe? 也许?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.