2012-07-06 39 views
0

我目前正在开发一个旅游应用程序,它将存储和显示有关不同景点和雕塑的信息,并且我正在研究用于存储信息的不同选项。存储运行时产生的大量信息

  • 的所有内容都将在运行之前生成,什么都不会 在运行时产生的。
  • 我在找一个方便的方式 写/生成它,如从 电子表格中获取信息。因此,我正在考虑XMLCSVsqlite的核心数据,或归档
  • 要被存储将定制 NSObject的的子类,诸如旅游类(NSObject的子类), 与实例变量如风景名胜的一个NSArray(NSObject的子类),以查看,以及* tourName(内容的NSString)。我目前在我的主视图控制器的 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil方法中定义了内容,但我确定这不是最有效的方法。

欢迎任何建议,以及它的优点和缺点。 此外,核心数据似乎是最好的选择,但在我看来,数据只能在运行时以编程方式生成。或者有什么办法可以在运行时之前生成Core-Data中的实体实例?

谢谢。

+1

核心数据绝对是最好的选择,然后你的模型对象可以直接成为'NSManagedObject'的子类。只需编写一个小帮手程序,它可以获取所有源代码并将其编译到核心数据种子中,并在源代码发生更改时运行该程序。那么你只需要在应用程序中实际包含核心数据文件,并且不需要在设备上生成任何内容。 – 2012-07-06 22:33:06

+0

谢谢。你的建议沿着我正在考虑的路线走。你能给我一些方便的方法来存储由Core-Data编译的源代码的例子吗? (即:csv,xml,文本文件,sqlite?) – ratsimihah 2012-07-06 22:36:40

回答

0

您可以轻松地在Mac上生成CoreData数据库。您可以编写本机应用程序来自己管理数据库,或将原始数据保存为任何其他格式(CSV,JSON等)并将其转换为CoreData。

无论如何,您只需创建CoreData数据库,并将其与您的应用程序捆绑包一起使用。当您在应用程序中创建CoreData堆栈时,在持久存储上设置只读选项,您应该很好。