1

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

  • 在渲染方法中硬编码
  • 大批
  • plist 文件
  • 核心数据

谢谢

4

2 回答 2

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

如果持久性是你所追求的,谷歌将字典或数组持久化到 plist

于 2012-08-08T03:07:45.270 回答
1

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

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

于 2012-08-06T07:30:33.970 回答