0

我似乎遇到了 NSMutableArray 的问题。

这是我的代码:

NSMutableArray *returnArray = [[NSMutableArray alloc] init];

while(condition) {
    NSInteger temp = someNumber;
    [returnArray addObject: temp];

}

但是一旦它遇到 addObject 消息,程序段就会出错。有什么建议吗?

4

3 回答 3

0

您不能将整数之类的原语添加到数组中,只能添加对象(因此名称为 addObject:)。如果要添加数字,则必须将它们转换为 NSNumber 或相关类之一。

于 2012-11-15T03:49:13.030 回答
0

您只能将对象添加到数组中,并且 NSInteger 不是数组。

NSMutableArray *returnArray = [[NSMutableArray alloc] init];

while(condition) {
    [returnArray addObject: [NSNumber numberWithInt: someNumber]];
}
于 2012-11-15T04:03:16.627 回答
0

您需要将原语包装NSInteger到一个NSNumber类中。您可以执行以下操作:

while(condition)
{
    NSInteger temp = someNumber;
    [returnArray addObject:@(temp)];
}

或者,如果您的编译器不支持该语法:

while(condition)
{
    NSInteger temp = someNumber;
    [returnArray addObject:[NSNumber numberWithInteger:temp]];
}
于 2012-11-15T04:09:07.627 回答