【发布时间】:2011-10-23 23:14:30
【问题描述】:
我必须在我的 iphone 项目中添加数千张图片。
什么是最好的流动方式?
我认为将图像打包不是一个好方法。
请给我建议
阿米特巴坦
【问题讨论】:
标签: iphone objective-c cocoa-touch iphone-sdk-3.0
我必须在我的 iphone 项目中添加数千张图片。
什么是最好的流动方式?
我认为将图像打包不是一个好方法。
请给我建议
阿米特巴坦
【问题讨论】:
标签: iphone objective-c cocoa-touch iphone-sdk-3.0
IMO 有两种选择:要么将图像存储在应用程序包中,要么从网站下载它们。
我认为将图像存储在包中没有任何问题。捆绑包会更大,下载需要时间(只能通过 WIFI 下载,不能通过 3G 下载)。有很多应用程序的捆绑包是 200+MB...
如果你有一些NSData(例如,通过 NSURLConnection 下载)想要存储到文档文件夹中,请执行以下操作:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"filname.ext"];
[nsData writeToFile:filePath atomically:YES]; //Write the file
有关存储到 sqlite 的方法,请参阅此S.O. article。无论如何,正如我在评论中所说,我认为它没有多大意义;您不使用数据库来存储文件,这就是文件系统的用途;您使用数据库来存储您想要搜索、排序、加入等的数据......无论如何,可以在 sqlite 中存储图像的路径。
【讨论】:
这些图片有多大?如果它们太大,不建议将它们全部捆绑在一起。因为你不想因为图像而有一个大的二进制文件!
也许您可以按需流式传输(通过 HTTP)图像...
【讨论】: