gpt4 book ai didi

iphone - IOS - 意外崩溃,没有崩溃信息

转载 作者:行者123 更新时间:2023-11-29 03:43:45 25 4
gpt4 key购买 nike

我一直在多个平台上测试 IOS 应用程序,并在 iPhone 4S 上测试时观察到一些奇怪的行为。该应用程序在执行适用于 iPhone 5 和 iPhone 3S 的任务后崩溃。当崩溃发生时,调试器上不会显示任何内容,Xcode 中绝对不会出现崩溃日志或内存警告。我隔离了代码块以及导致崩溃的特定行。我仍然不明白为什么会发生或如何找到解决方案。该代码是一个更大方法的一部分,该方法下载大量图像并将它们显示在 UIImageViews 中。这是代码:

//fill image tiles with images
for (int i = 0; i < [objects count]; ++i)
{
PFObject *imageObject = [objects objectAtIndex:i];
PFFile *imageFile = (PFFile *)[imageObject objectForKey:@"image"];
UIImageView *imageHolder = (UIImageView *)[self.view viewWithTag:(100 + i)];

imageHolder.image = [UIImage imageWithData:imageFile.getData];
}

该代码循环访问已从服务器加载图像文件的对象。每个图像要分配到的 UIImageViews 标记为 100 - 104,因此可以使用循环索引变量访问它们。 UIImageView *imageHolder = (UIImageView *)[self.view viewWithTag:(100 + i)] 行从主视图中提取 UIImageViews。在下一行中,为 imageHolder View 分配了一个图像,这是导致崩溃的行,并且当注释掉时, View 加载不会失败。我无法确定为什么会发生这种情况,或者是否是 imageFile 或 imageHolder View 未正确设置。也许这里有人可以阐明这个问题。

最佳答案

您应该对 imageFile.getData 进行一些保护,因为它可能返回 nil。您最好使用 getData: 方法,该方法会返回一个错误,如果无法访问数据,您可以使用该错误。


NSError *error = nil;
NSData *imageData = [imageFile getData:&error];

if (imageData != nil) {
imageHolder.image = [UIImage imageWithData:imageData];
} else {
NSLog(@"OMG!! %@", error);
}

关于iphone - IOS - 意外崩溃,没有崩溃信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18003227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com