Лучший способ настроить NSViewController, инициализированный с помощью initWithNibName:bundle:?

У меня есть подкласс NSViewController, который загружает свое представление из пера (с initWithNibName:bundle: и он является владельцем файла этого пера).

Мне нужно выполнить некоторую инициализацию после загрузки пера, и я хочу, чтобы мой код был наиболее совместимым:

  • В ios: для этого есть метод viewDidLoad
  • В osx: в Snow Leopard есть нет такого метода, как viewDidLoad, но awakeFromNib также вызывается для владельца файла пера

. Итак, мои вопросы:

  1. Вызывается ли awakeFromNib также для владельца файла пера в Lion?
  2. Если я использую awakeFromNib, нужно ли мне вызывать [super awakeFromNib]? (реализует ли NSViewController awakeFromNib?)
  3. Если ответ 1 ДА, является ли это хорошим решением? :
- (пусто) initAfterNibLoaded {
 ...
}

- (пусто) viewDidLoad {
 // Код для ios
 [сам initAfterNibLoaded];
}

- (недействительно) awakeFromNib {
 // Код для osx

 // Не уверен, что нужно
 [супер проснулся от ниба];

 [сам initAfterNibLoaded];
}

Если ответ 1 НЕТ, это хорошее решение? :

- (void)viewDidLoad {
   // Initialize after nib loaded
}

#ifndef TARGET_OS_IPHONE
- (void)loadView {
   // Call parent method
   [super loadView];

   // Simulate viewDidLoad method
   [self viewDidLoad];
}
#endif

Спасибо

8
задан Johnmph 5 April 2012 в 12:21
поделиться