在Cocoa touch中存储静态参考数组/ dicts的最佳方法

时间:2008-10-28 16:19:08

标签: iphone objective-c cocoa-touch

我有几个数组阵列或dicts数组,我想存储在我的i​​Phone应用程序中。此列表是静态的,不会被应用或用户修改。偶尔它们可能会被显示,但更有可能它们会被迭代并与某些输入值进行比较。存储这些数组的最佳方法是CoreData / SQLite数据存储,头文件,还是我没想到的东西?我可以看到创建一个只有这些数组存储在其中才能访问的类,但我不确定这是否是最佳路径。

4 个答案:

答案 0 :(得分:5)

使用属性列表文件。用NSDictionary + dictionaryWithContentsofFile加载它:。

答案 1 :(得分:4)

我会做以下事情:

@implementation DataSource
+ (NSArray *)someData
{
  static NSArray *data = nil;
  if (!data) {
    data = [[NSArray arrayWithObjects:..., nil] retain];
  }
  return data;
}
@end

将在该类中添加其他数组或dicts数组作为类方法。

答案 2 :(得分:4)

我会选择plist方法。

答案 3 :(得分:1)

根据您想要修改或本地化项目的频率以及查找时间要求,静态数组也可能是您的选择。但是,对于常量数据,SQLite可能不是要采用的路径,除非您有复杂的查询要求(而不仅仅是by-index)。