2012-02-29 69 views
0

我目前在.plist文件中存储了一些常用的数组和字典。但是,这些文件中存在重复数据。相反,我希望能够更多地沿着关系数据库的行来实现某些内容,以便存储对数据的引用,而不是重复数据。我猜测有没有办法用plist文件来做到这一点,但CoreData似乎对此过度杀伤。如何存储所有这些预先创建的数据?

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

+0

如何使用一个.plist作为数据源。其他.plists存储对第一个.plist的引用? – ohho 2012-02-29 02:25:50

回答

1

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

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

无论你做什么,我都会远离NSArray/NSDictionary的子类。您可以提供默认值而不需要子类。

+0

如何在SQLite中预先创建数据?我是否需要执行检查以查看它是否第一次运行该应用程序,如果是,则创建数据? – maxedison 2012-03-01 13:02:54

+0

您可以随时在开发机器上创建数据库,然后将数据库发送到应用程序包中。 – sosborn 2012-03-01 13:04:18

+0

好的。我得看看更多。从plist文件或SQLite读取通常更快(性能方面)? – maxedison 2012-03-01 16:02:41

1

我在这种情况下使用了SQLite。
这里是我学习的关于在应用程序中使用SQLite的一切(Stanford class) 的视频我假设有很多其他示例可用。

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

相关问题