我需要存储预先配置的值,以后这些值将用于用户可以从iOS应用中的表中选择的选项,可能大约有5-10个选项。
在性能和效率方面存储这类数据的最佳方法是什么?
我可能会想到几种方法,如:
由于
答案 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
进行写入。
对于大量数据,您可以查看核心数据。