3

我在我的 appDelegate 中设置了 coredata,但它首先在该 xib 文件中加载 mainWindow.xib 和相应的控制器+视图。这些控制器需要有一个 managedObjectContext 才能正确加载。在 xib 未归档后,它会运行我的 appDelegate 中的代码。

如何设置我的 coredata,然后加载 mainWINdow.xib?或者只是确保在取消归档我的 mainWindows.xib 之前正确初始化 coredata?

4

1 回答 1

3

您可以覆盖awakeFromNib您的UIApplicationDelegate子类,并在那里设置核心数据。一旦从您的 nib 文件中取消归档所有对象,但在它们的实例开始工作之前,将调用此方法。在实例awakeFromNib开始运行之前,将其视为调整任何行为的最后机会。

观察:

  • 重写awakeFromNib时必须调用[super awakeFromNib],否则您的超类可能无法正确初始化。
  • 调用的顺序awakeFromNib是未定义的,因此您可能永远不会从内部从同一个 Nib 向任何其他对象发送消息awakeFromNib。作为奖励,这也意味着awakeFromNib保证在同一个 Nib 中的任何其他对象需要您的服务并向您发送任何消息之前运行。
于 2009-09-04T20:14:28.170 回答