0

我正在编写一个需要数据持久性的应用程序。我正在使用 CoreData 作为我的框架。我目前正在尝试为应用程序设计我的数据结构,我计划拥有 2 个。

我的应用程序中的主要数据是以向导格式输入的各种信息表。我希望使用 MutableArray 来保存表单数据。

其次,我希望有一个 MyClass 的单独实例(单例)随时可用,我将使用它作为临时占位符来接受在向导期间输入的数据。一旦用户完成所有步骤,它将在数组中为其创建一个新对象。

我从 CoreData 收集到的是,我需要使用 ManagedObjectContext 作为我的应用程序和 iOS 设备上的磁盘之间的桥梁。我的问题是:

“我应该在应用程序委托中使用此上下文的一个实例,并从需要与文件对话的任何视图中引用它,还是应该在每个 ViewController 上创建一个新上下文。”

现在我并不在意内存效率,但我希望在发布应用程序之前尽可能高效。

4

1 回答 1

-1

如果你有一个单例共享实例作为访问层,你也可以让它成为你的核心数据上下文的通信器。

我建议使用 UIManagedDocument 来设置托管对象上下文。一开始需要做更多的工作,但例如您可以更轻松地实现 iCloud 访问。

但是你当然也可以在你的单例中保存一个 managedObjectContext (没有托管文档),或者 - 就像在每个设计的核心数据应用程序中一样 - 在你的应用程序委托中(你可以从任何地方通过 uiapplication 共享实例访问它)。我认为真的没有一种正确的方法。您可以查看斯坦福 c193p 讲座(可在 iTunes 上获得)并观看核心数据会话以了解 managedDocument 方法。

于 2013-09-14T16:56:02.140 回答