【发布时间】:2010-12-20 11:51:34
【问题描述】:
我的应用有问题,该应用在模拟器上运行良好,但在 iDevice 上启动时出现错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '*** -[NSMutableArray insertObject:atIndex:]: attempt to insert nil object at 0'
0 CoreFoundation 0x3513cfd3 __exceptionPreprocess + 114
1 libobjc.A.dylib 0x303928a5 objc_exception_throw + 24
2 CoreFoundation 0x350bff99 -[__NSArrayM insertObject:atIndex:] + 472
3 CoreFoundation 0x350bfda7 -[__NSArrayM addObject:] + 34
....
Program received signal: “SIGABRT”.
在调试器中我可以看到问题出在哪里。错误来自那里,在 addObject:
for (int i = 0; i < [arrayValues count]; i++) {
f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
myNumber =[f numberFromString:[arrayValues objectAtIndex:i]];
[arrayValues2 addObject:myNumber];
[f release]; }
这里我在arrayValues2中转换NSNumbers中arrayValues(NSString)的对象。
在模拟器中没有问题,数组不是空的。 不知道去哪里找。
我还查看了stackoverflow的其他帖子,它们与我的错误不太一样
【问题讨论】:
-
arrayValues中的数据来自哪里,模拟器和设备上的数据是一样的吗?
标签: iphone objective-c ios-simulator nsmutablearray