在iOS上存储不可变数据的最佳实践

时间:2012-02-16 02:58:36

标签: ios xcode plist

我希望为iOS创建一个基于导航的参考应用程序。

我考虑了以下存储数据的方法:

硬编码

plist文件

某种逗号分隔文件

我将使用的数据结构包含一串字符串,一个数组和一个图片引用。

您认为存储此数据的最佳方法是什么?没有进入CoreData?

由于

此外,我认为这不会超过500个。

1 个答案:

答案 0 :(得分:0)

嗯,对于任何情况,这都不是“最佳实践”问题。

  

我将使用的数据结构包含一串字符串,一个数组和一个图片引用。

     

您认为存储此数据的最佳方法是什么?没有进入CoreData?

根据您的需要,我建议您查看NSKeyedArchiver

NSStringNSArrayUIImage都知道如何编码和解码自己。只需使用NSKeyedArchiver即可。请注意,集合中的对象(例如NSArray)必须采用@protocol NSCoding

如果您需要在Mac上打开它,请使用正确的图像文件格式表示(例如PNG或JPEG)将UIImage转换为NSData,因为UIImage不可用。

详细说明:

  

硬编码

这可能意味着许多事情。

  

plist文件

您正在使用大型非plist类型。这意味着您需要不必要地转换为UIImage< - > NSData,这会增加很多开销 - 内存,CPU和可能的文件大小。所有这些类型都可以编码自己比plist表示更好(或更好)。

  

某种逗号分隔文件

您的图片不会允许(可靠)发生。