我似乎遇到了NSMutableArray的问题。
这是我的代码:
NSMutableArray *returnArray = [[NSMutableArray alloc] init];
while(condition) {
NSInteger temp = someNumber;
[returnArray addObject: temp];
}
但是一旦命中addObject消息,程序就会出错。有什么建议吗?
答案 0 :(得分:0)
您不能将整数这样的基元添加到数组中,只能添加对象(因此名称为addObject :)。如果要添加数字,则必须将它们转换为NSNumber或其中一个相关类。
答案 1 :(得分:0)
您只能将对象添加到数组,而NSInteger不是数组。
NSMutableArray *returnArray = [[NSMutableArray alloc] init];
while(condition) {
[returnArray addObject: [NSNumber numberWithInt: someNumber]];
}
答案 2 :(得分:0)
您需要将NSInteger
等原语包装到NSNumber
类中。您可以执行以下操作:
while(condition)
{
NSInteger temp = someNumber;
[returnArray addObject:@(temp)];
}
或者如果您的编译器不支持该语法:
while(condition)
{
NSInteger temp = someNumber;
[returnArray addObject:[NSNumber numberWithInteger:temp]];
}