如何存储相对静态但可配置的信息

时间:2011-04-29 01:35:17

标签: iphone cocoa-touch ios application-settings property-list

我有一个表(字典字典)来存储整数到字符串的映射。我有类型和子类型。例如type 1 => fruits和sub-type 1 => apple。

映射应该可以在我的设置界面中配置,但是对于应用程序的重置,它是相当静态的。因此,每次检查映射时,我都不想从属性列表中读取。我只想在程序启动时读取一次,只在用户更改设置时才写入。

我应该在运行时将此表保留在哪里?我有两种方法: (1)是将整个表作为变量放在应用程序委托中,在这种情况下,每次需要获取字符串时我都需要使用objectForKey两次。 (2)创建一个带有静态变量的类(不知道该怎么做)并使用类方法来获取映射,例如+(NSString)stringForType:subType:

您能否评估这两种方法或建议更好的解决方案?非常感谢!

1 个答案:

答案 0 :(得分:0)

你把它放在哪里并不重要,只要你保留它的一个副本,你应该检查的重要事项是valueForKeyPath:。如果你存放在一个plist中,并定期保存到plist,你可以获得持久性的巨大好处。您可以使用[NSUserDefaults standardUserDefaults];对象自动获取该内容。