在iOS中存储多个静态数据的最佳实践

时间:2012-08-06 07:17:58

标签: ios cocoa

我需要存储预先配置的值,以后这些值将用于用户可以从iOS应用中的表中选择的选项,可能大约有5-10个选项。
在性能和效率方面存储这类数据的最佳方法是什么? 我可能会想到几种方法,如:

  • 在渲染方法中硬编码
  • 阵列
  • plist file
  • 核心数据

由于

2 个答案:

答案 0 :(得分:4)

静态数据应存储在相应类的静态变量中,这些变量将加载值。

无论您是否从文件加载字典,都是如何静态加载字典或数组,因此它只在您的应用程序中完成一次。

//.h
@interface MyApp

+(void) initialize; //will only be called once when the class is loaded

//.m

static NSArray *myListOfStuff;

@implementation MyApp

+(void) initialize {
    //...either load your values from a file or hard code the values here
    //init and assign values to myListOfStuff
}

//a statis getter for the list
+(NSArray *) listOfStuff {
    return myListOfStuff;
}


//Client Code to get the list in your app
NSArray *myList = [MyApp listOfStuff];

//This memory will not be released for the life of the application.
//it will be loaded once and only once - its efficient

如果坚持不懈,Google会将字典或数组保存到plist中 我向您展示的是如何有效地在对象模型中加载静态数据 无论持久性方法如何

答案 1 :(得分:1)

如果它实际上只有大约5到10个数据项,那么您可以将它们存储在NSDictionary或Array中,并将其保存在plist文件中并从中读取。您可以分别使用dictionaryWithContentsOfFile方法或arrayWithContentsOfFile从plist中读取并使用writeToFile进行写入。

对于大量数据,您可以查看核心数据。