以下是我用来向nsmutable数组添加数据的代码片段,现在我不确定在提取时输入什么内容,我需要整数值。 问题是我收到了关于' id'和' NSInteger'转换。什么是更好的提取方式:
self.itemsBottom = [NSMutableArray array];
for (int i = 20; i < 30; i++)
{
[itemsBottom addObject:@(i)];
}
想做类似的事情:
NSInteger itemAddressed = [self.itemsBottom objectAtIndex:itemIndex]
答案 0 :(得分:3)
在本声明中
[itemsBottom addObject:@(i)];
您正在将integer
值装箱到NSNumber
。
在这里
NSInteger itemAddressed = [self.itemsBottom objectAtIndex:itemIndex]
您尝试将NSNumber存储到NSInteger,从而收到错误。
您可以使用:
NSInteger itemAddressed = [[self.itemsBottom objectAtIndex:itemIndex] integerValue];
或简而言之:
NSInteger itemAddressed = [self.itemsBottom[itemIndex] integerValue];
答案 1 :(得分:2)
一切似乎都合理......我认为最后一行需要......
NSInteger itemAddressed = [self.itemsBottom[itemIndex] integerValue];
也许?