使用 Objective-C 将图像下载到 iPad
Posted
技术标签:
【中文标题】使用 Objective-C 将图像下载到 iPad【英文标题】:Download image to iPad using Objective-C 【发布时间】:2016-08-30 02:47:33 【问题描述】:我正在尝试创建一种从互联网下载图像的方法。
它通过NSData
下载了一堆图像,它的工作,但我必须将它保存在设备中。问题是它下载完美,我可以访问图像,但是如果我删除应用程序或关闭正在运行的 bg 应用程序,我无法访问图像,就像它消失了一样。所以它只有在我立即下载并访问图像时才有效。它不是永久的。
这是我的代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *newDirectory = [NSString stringWithFormat:@"%@/toyotacotizador", [paths objectAtIndex:0]];
NSString* path = [newDirectory stringByAppendingPathComponent:
[NSString stringWithFormat:@"image-appdownloader-%d-%d.png", tablePointer,tagDictionary] ];
NSData* data = UIImagePNGRepresentation(image);
[data writeToFile:path atomically:YES];
[self.dbManager loadDataFromDB:[NSString stringWithFormat:@"UPDATE %@ SET image='%@' WHERE %@ = '%@';", [dataImage getTableName], path, [dataImage getIdTableColumn], [dataImage getIdQuery]]];
图片的路由是正确的,但是如果我关闭整个应用进程或删除应用,我将无法访问该图片。
好像只有下载后才能看到图片。
【问题讨论】:
查看此链接:- ***.com/a/10873221/4419797 【参考方案1】:您可能想好好阅读NSData
reference。
根据参考:
原子写入从将数据写入临时文件开始。如果此写入成功,则该方法将临时文件移动到其最终位置。
因此,当您关闭应用程序时看不到图像的原因可能是因为文件尚未移动到它们的最终位置。
此外,参考明确指出您不应使用此方法:
改为使用现有文件描述符初始化 NSFileHandle 对象,并使用 NSFileHandle 方法安全地写入文件。
【讨论】:
以上是关于使用 Objective-C 将图像下载到 iPad的主要内容,如果未能解决你的问题,请参考以下文章
将 .ipa 上传到 iTunes Visual Studio Cordova 时出错