2

我正在尝试将 CoreData 与 an 一起使用UIManagedDocument,我知道它需要一段时间才能准备好,而且我也知道它准备好时会触发通知。我想在准备好后显示应用程序,这样做方便吗?

UIManagedDocument初始化 a并等待它准备就绪的标准方法(时间和方式)是什么?

从一开始就显示数据的应用程序会发生什么?

4

2 回答 2

3

Apple 建议您侦听 UIDocumentStateChangedNotification 以对文档的状态更改做出反应。这包括当您的文档打开并准备好继续进行时,以及在保存文档时出现错误时您想要采取的步骤。

虽然这是关于基于文档的应用程序,但它也适用于 UIManagedDocument。

请参阅iOS 的基于文档的应用程序编程指南

我个人喜欢这种方法的原因是因为它允许我根据文档状态调整 UI。它允许我根据多个文档组合的状态做出反应。与完成处理程序有关的事情会更加棘手。

于 2012-05-29T14:12:04.107 回答
1

用于创建和打开 UIManagedDocument 的两个接口都有一个回调块。

我建议在完成处理程序运行之前不设置文档属性。这样您就可以确定文档已打开并准备就绪。

我将显示没有数据的应用程序,并在数据准备好时让打开/获取排卵数据。

如果我在启动应用程序时这样做,我会继续加载应用程序,当数据准备好时,它会填充视图......但只有加载刚好足以开始,其余的提取发生在背景。

打开一个文件应该不会花很长时间......耗时的部分是加载数据。如果必须,您可以在启动时显示启动画面。Apple 的东西显示了一个类似于空白应用程序的图像……看看 iTunesU 在启动时如何显示空白书柜,然后用你的东西填充它。

有些人在开头播放了几秒钟的开场动画,掩盖了启动顺序。我想这可能是合适的,具体取决于您的应用程序。这在面向图形的游戏中似乎更容易接受。

于 2012-05-29T03:42:40.707 回答