首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS中存储多个静态数据的最佳实践

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

Stack Overflow用户
提问于 2012-08-06 07:17:57
回答 2查看 1.3K关注 0票数 2

我需要存储预先配置好的值,这些值稍后将用于用户可以从iOS应用程序的表中选择的选项,可能是5-10个选项。

在性能和效率方面,存储这类数据的最佳方法是什么?

我可能会想到几种方法,比如:

  • 在呈现方法中硬编码的权利
  • 数组

  • plist文件

  • 核心数据

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-06 07:30:33

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

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

票数 1
EN

Stack Overflow用户

发布于 2012-08-08 03:07:45

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

不管您是否从文件中加载字典,这里都是如何静态地加载字典或数组,因此它在应用程序中只加载一次。

代码语言:javascript
复制
//.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 --如果持久化是您所追求的--我向您展示的是,不管持久化方法如何,如何高效地构造在对象模型中加载静态数据

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11823967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档