使用 addObject 到 NSMutableArray 时的 Seg 错误



我似乎在NSMutableArray上遇到了问题。

这是我的代码:

NSMutableArray *returnArray = [[NSMutableArray alloc] init];
while(condition) {
    NSInteger temp = someNumber;
    [returnArray addObject: temp];
}

但是一旦它命中addObject消息,程序seg就会出错。有什么建议吗?

您不能将整数等基元添加到数组中,只能添加对象(因此得名 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]];
}

相关内容

  • 没有找到相关文章

最新更新