【问题标题】:How add thousands of images in iphone project如何在 iphone 项目中添加数千张图片
【发布时间】:2011-10-23 23:14:30
【问题描述】:

我必须在我的 iphone 项目中添加数千张图片。

什么是最好的流动方式?

我认为将图像打包不是一个好方法。

请给我建议

阿米特巴坦

【问题讨论】:

    标签: iphone objective-c cocoa-touch iphone-sdk-3.0


    【解决方案1】:

    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 中存储图像的路径。

    【讨论】:

    • 我同意 sergio 的观点,我知道一个应用程序有高清视频,大小约为 800 mb。因此,在没有限制的情况下,可以决定权衡,基本上是第一次安装的下载时间。
    • 实际上面试官问我这个问题...我必须在本地存储在应用程序中..而不是在捆绑中
    • 那么您就剩下下载选项了,因此您可以将它们存储在本地的“文档”文件夹中...
    • 好吧..你能告诉我我们如何在本地文件夹中存储
    • 最好将它们存储在库下,以防您想阻止用户访问。
    【解决方案2】:

    这些图片有多大?如果它们太大,不建议将它们全部捆绑在一起。因为你不想因为图像而有一个大的二进制文件!

    也许您可以按需流式传输(通过 HTTP)图像...

    【讨论】:

    • 实际上面试官问我这个问题...我必须在本地存储在应用程序中..而不是在捆绑中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多