ios - 如何检查 NSData 在 UIImage 中的使用是否有效

标签 ios objective-c iphone uiimageview uiimage

NSError *error = nil;
NSURL *url = [NSURL URLWithString:[imageLinks objectAtIndex:0]];
NSData *tdata = [NSData dataWithContentsOfURL:url options:NSDataReadingUncached error:&error];
if (error) {
    NSLog(@"%@", [error localizedDescription]);
}else {
    // no error, this one is being called within my app
    NSLog(@"Data loaded successfully");
}
self.pictureView1.image = [UIImage imageWithData:tdata];

我有一个 jpeg 文件,我可以确认 URL 内容已成功收集,但是当我尝试将我的图像数据放入 UIImage 时,我的应用程序失败了。我想知道是否有任何检查 NSData 以确认它可用于 UIImage

我也不知道是什么原因导致了这种失败,以及如何预防。任何帮助将不胜感激。

最佳答案

如前所述in the documentation imageWithData:如果 UIImage 无法从数据创建图像,则返回 nil。在运行时处理此问题的正确方法是在该方法返回 nil 时提供占位符图像。

至于诊断,首先查看控制台消息,它们有时会提供有用的信息。如果没有,最好的运气是将 NSData 转储到磁盘并将结果与​​存储在服务器上的文件进行比较。您有时会得到损坏的数据,有时您只是在您期望 jpeg 二进制数据的地方收到一条 html 错误消息。

关于ios - 如何检查 NSData 在 UIImage 中的使用是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11072613/

相关文章:

objective-c - 从具有属性的 NSObject 转换为 NSDictionary 的 Obj-C 简单方法?

ios - 如何在 UIActivityViewController 模式中显示文件大小和类型

iphone - 不想点击两次以使用 sharekit 应用程序在 Facebook 中分享消息?

ios - 推送透明背景的ViewController

iphone - 核心数据的预填充版本?

ios - Facebook SDK FBGraphUser 无法存储本地副本

ios - swift : Error when saving to core data context

objective-c - 将 NSObject 转换为 NSDictionary

iphone - 这些创建和处理数组的方法之间的基本区别是什么?

ios - 动画 View 跳转到最终位置而不是缓慢移动