iOS NSArray在索引处插入对象



我正在查看一个正在测试应用程序的设备的崩溃日志,我看到了以下几行。。。

对象异常抛出+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];
 }

最新更新