我正在查看一个正在测试应用程序的设备的崩溃日志,我看到了以下几行。。。
对象异常抛出+33
[__NSArray插入对象:at索引:]+187
发生这种情况的代码如下。appData是一个NSDictionary,我希望imageUrl是互联网上png文件的URL。
for (int i = 1; i <= [self getNumberOfScreenshots]; i++) {
pathToUrl = @"screenshot_";
pathToUrl = [pathToUrl stringByAppendingString:[[NSNumber numberWithInt:i] stringValue]];
imageUrl = [self.appData valueForKey:pathToUrl];
imageData = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:imageUrl]];
[NSMutableArrayObj addObject:imageData];
}
是什么原因导致了这种类型的错误?这个错误很少发生。。可能是imageData有时为零,因为它无法从url下载png图像,所以当我试图将其添加到NSMutableArrayObj时会引发异常吗?
谢谢!
可能有两个原因,因为您没有更具体地描述错误
1) 实际上你没有将内存分配给阵列
2) 将nil值插入数组。要停止插入nil,请执行以下操作:
if(imageData)
{
[NSMutableArrayObj addObject:imageData];
}