2009-09-04 2 views
3

У меня есть установка coredata в моем приложении appDelegate, но сначала загружается mainWindow.xib и соответствующие контроллеры + представления в этом xib-файле. Эти контроллеры должны иметь управляемый объектОбъектКонтекст для правильной загрузки. И после того, как xib будет разблокирован, он запускает код в моем приложении appDelegate.setup coredata, перед загрузкой appdelegate my mainWindow.xib

Как я могу настроить мои coredata, а затем загрузить mainWIndow.xib? Или просто убедитесь, что coredata инициализирован правильно, прежде чем развернуть мой mainWindows.xib?

ответ

3

Вы можете переопределить awakeFromNib на своем подклассе UIApplicationDelegate и установить там основные данные. Этот метод будет вызываться после того, как все объекты будут удалены из вашего файла nib, но прежде чем их экземпляры начнут выполнять свою работу. См. awakeFromNib как последний шанс изменить поведение до запуска экземпляров.

Наблюдайте:

  • При переопределении awakeFromNib вы должны вызвать [super awakeFromNib], иначе ваш суперкласс не может правильно инициализировать.
  • Порядок вызовов awakeFromNib не определен, поэтому вы никогда не сможете отправлять сообщения другим объектам из того же Nib из awakeFromNib. В качестве бонуса это также означает, что awakeFromNib гарантированно будет работать до любой другой объект в том же Nib нуждается в ваших услугах и отправляет вам любые сообщения.
+0

Кажется, что использование awakeFromNib в моем AppDelegate достаточно. – Ton