初始化NSMutableArray时获取信号10错误

时间:2010-08-18 16:58:46

标签: objective-c nsmutablearray

我是Objective-C的初学者,我正在尝试使用各种类型的对象初始化NSMutableArray。这是我的代码:

 NSMutableArray *mutArr = [NSMutableArray arrayWithCapacity:1];
 [mutArr addObject:path];
 [mutArr addObject:fullPath];
 [mutArr addObject:pathArray];
 [mutArr addObject:pI];
 [mutArr addObject:processName];
 [mutArr addObject:processIdentifier];
 [mutArr addObject:dictionary];

 NSLog(@"I am past the initialization of mutArr.");

我的代码没有到达NSLog语句,我在XCode的调试控制台上收到错误,说“由于信号10(SIGBUS),调试器已经退出。”我不知道这意味着什么,为什么会发生,或者如何解决它。有人可以帮助我吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

尝试使用

NSMutableArray *mutArr = [[NSMutableArray alloc] initWithObjects:nil];

然后是你的其余代码。这应该有效: - )

答案 1 :(得分:0)

是的,几分钟前我就发现了问题。我的变量processIdentifer未正确定义。我正在使用声明NSNumber * processIdentifier =(NSNumber *)[pI processIdentifier];而不是NSNumber * processIdentifier = [NSNumber numberWithInt:[pI processIdentifier]];所以我在可变数组的初始化过程中遇到错误。谢谢你的建议!!