Objective c 将addObject用于NSMutableArray时出现Seg错误
我似乎对NSMutableArray有问题 这是我的密码:Objective c 将addObject用于NSMutableArray时出现Seg错误,objective-c,nsmutablearray,segmentation-fault,Objective C,Nsmutablearray,Segmentation Fault,我似乎对NSMutableArray有问题 这是我的密码: NSMutableArray *returnArray = [[NSMutableArray alloc] init]; while(condition) { NSInteger temp = someNumber; [returnArray addObject: temp]; } 但是一旦它点击addObject消息,程序seg就会出现故障。有什么建议吗?不能向数组中添加整数之类的基本体,只能添加对象(因此名为a
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]];
}
或者使用新的Objective-C语法:
[returnArray addObject:@(temp)]代码>