如何存储所有这些预先创建的数据?

时间:2012-02-29 00:09:54

标签: iphone objective-c ios xcode plist

我目前正在.plist文件中存储一些常用的数组和字典。但是,这些文件中存在重复数据。相反,我希望能够在关系数据库的基础上实现更多内容,以便存储对数据的引用而不是重复数据。我猜测没有办法用plist文件做这个,但是CoreData看起来有点过分了。

我想到的是将NSArray和NSDictionary子类化以提供默认值。而不是从plist文件加载字典,无论对象需要什么,数据都只是实例化这些NSArray / NSDictionary子类之一(这将在必要时实例化这些子类中的其他子类 - 这就是“关系数据库”功能将如何取得成就)。这是一种合理的方法,还是iOS或Xcode中还有其他一些我不知道的工具,会让这很简单?

2 个答案:

答案 0 :(得分:1)

如果数据永远不会改变,那么我会坚持使用您当前的方法,除非您遇到性能问题。另一个选择是将所有内容移动到SQLite,然后使用FMDB之类的包装器。

如果数据是将在应用程序的生命周期内发生变化的初始数据(您需要在启动之间保持持久性),那么我将切换到CoreData。

无论你做什么,我都会远离子类化NSArray / NSDictionary。您可以在不进行子类化的情况下提供默认值。

答案 1 :(得分:1)

我在这种情况下使用过SQLite 这是我在应用程序中学习使用SQLite的所有内容的视频(Stanford class) 我假设还有很多其他的例子。

不错的是,您可以使用各种工具/插件来输入或管理您的数据。然后在您的代码中进行任何您需要的查询。