在运行时存储大量要生成的信息

Posted

技术标签:

【中文标题】在运行时存储大量要生成的信息【英文标题】:Storing large amount of information to be generated before run-time 【发布时间】:2012-07-06 22:30:09 【问题描述】:

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

所有内容都将在运行前生成,什么都不会 在运行时生成。 我正在寻找一种方便的方式 写入/生成它,例如从 电子表格。因此,我正在考虑 xmlcsvsqlite核心数据,或归档。 要存储的内容将是自定义的 NSObject 的子类,例如 Tour 类(NSObject 子类), 带有实例变量,例如要查看的 NSArray of Sights(NSObject 子类)和 *tourName (NSString)。 我目前在主视图控制器的 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 方法中定义内容,但我确信这不是最有效的方法。

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

谢谢。

【问题讨论】:

Core Data 绝对是最好的选择,然后你的模型对象可以直接是NSManagedObject 的子类。只需编写一个小帮助程序,它会获取所有源并将它们编译到 Core Data 种子中,并在源更改时运行它。然后你只需要在应用程序中实际包含 Core Data 文件,并且不需要在设备上生成任何内容。 谢谢。您的建议沿着我正在考虑的路径进行。请给我一些存储要由 Core-Data 编译的源代码的便捷方法的示例,好吗? (即:csv、xml、文本文件、sqlite?) 【参考方案1】:

你可以很容易地在你的 mac 上生成 CoreData 数据库。您可以编写一个原生应用程序来自己管理数据库,或者将原始数据保存为任何其他格式(CSV、JSON 等)并将其转换为 CoreData。

无论如何,您只需创建 CoreData 数据库,并将其包含在您的应用程序包中。当您在应用程序中创建 CoreData 堆栈时,在持久存储上设置只读选项,您应该一切顺利。

【讨论】:

以上是关于在运行时存储大量要生成的信息的主要内容,如果未能解决你的问题,请参考以下文章

Java方法区

jvm 方法区

Julia:在运行时生成代码并将其存储以供将来评估/执行

Apache OpenWhisk操作完成后如何在后台运行代码?

Source Generator初探

气流:每个任务运行大量实例时需要建议