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