【问题标题】:setup coredata, before appdelegate loads my mainWindow.xib在 appdelegate 加载我的 mainWindow.xib 之前设置 coredata
【发布时间】:2010-11-25 17:52:59
【问题描述】:

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

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

【问题讨论】:

    标签: iphone cocoa-touch core-data xib mainwindow


    【解决方案1】:

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

    观察:

    • 覆盖awakeFromNib 时,您必须调用[super awakeFromNib],否则您的超类可能无法正确初始化。
    • awakeFromNib 的调用顺序未定义,因此您可能永远不会从awakeFromNib 内的同一 Nib 向任何其他对象发送消息。作为奖励,这也意味着awakeFromNib 保证同一 Nib 中的任何其他对象需要您的服务并向您发送任何消息之前运行。

    【讨论】:

    • 看来,在我的 AppDelegate 中使用 awakeFromNib 就足够了。
    猜你喜欢
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 2014-10-03
    相关资源
    最近更新 更多