У меня есть контроллер представления, который создается через initWithNibName, и я только что узнал, что awakeFromNib не вызывается. Вызывается awakeFromNib только тогда, когда контроллер просмотра не имеет аналогов из Nib? (т. е. вызывается initWithCoder)awakeFromNib не вызывается в моем ViewController
ответ
UIViewController лениво загружает свой просмотр, только когда он необходим для отображения. Это касается как программного создания представления, использующего -loadView, так и unarchiving из ниба.
Вы можете заставить представление загрузить, указав свойство представления UIViewController.
Я думаю, что вы ищете viewDidLoad
. awakeFromNib
вызывается только для объектов, загружаемых из наконечника. Сам контроллер получает viewDidLoad:
. Поскольку вы звоните initWithNibName:bundle:
, на самом деле он не разрхивирован из ниба!
Мне известно о том, что будет вызван viewDidLoad, но не был уверен, почему awakeFromNib не был, потому что контроллер представления является файловым владельцем NIB, поэтому он будет неархивирован, а его IBOutlet и IBAction подключены или поэтому я подумал. – Boon
Владелец файла является прокси для UIViewController, а не фактическим экземпляром. Предположительно, контроллер представлений создается вне области действия NIB и затем «подключен» в соответствии с отношениями, указанными в прокси-объекте - владельцем файла. – teabot
awakeFromNib не вызывается для объектов-заполнителей, таких как владелец файла и первый ответчик в iOS. См. # 4 в Object Loading Process Docs
- 1. awakeFromNib вызывается дважды, а выходы внутри viewcontroller не установлены
- 2. awakeFromNib Не вызывается в iOS 9
- 3. NSWindowController awakeFromNib вызывается дважды
- 4. Программно созданный ViewController и awakeFromNiB?
- 5. awakeFromNib не вызывается для объекта UITableViewCell
- 6. Почему AwakeFromNib вызывается повторно при использовании раскадровки?
- 7. didSelectRowAtIndexPath метод не вызывается в другом viewcontroller
- 8. Extjs 5.1: метод в ViewController не вызывается
- 9. Вызов awakeFromNib из файла xib в главном ViewController
- 10. Почему awakeFromNib вызывается дважды из Cell в TableView?
- 11. ViewController() вызывается первым, чем appDelegate()?
- 12. UINavigationItem не показано в моем ViewController
- 13. Вызывается вызовПросмотр ControlAnimated, но ViewController не отклоняется
- 14. Почему * drawRect * не вызывается из ViewController?
- 15. iOS ViewController не появляется, хотя viewDidLoad вызывается
- 16. Что такое выходные в awakeFromNib?
- 17. setGeometryFlipped в awakeFromNib не работают
- 18. shouldStartLoadWithRequest не вызывается в моем приложении iPhone
- 19. drawRect не вызывается в моем подклассе UIImageView
- 20. Почему TryGetMember не вызывается в моем DynamicObject?
- 21. NavigationBar не появляется на моем ViewController
- 22. awakeFromNib напротив?
- 23. Переменные ноль в awakeFromNib
- 24. свойства ячейки, установленные в viewcontroller, не отражают
- 25. UIKit - awakeFromNib, если не реализован
- 26. awakeFromNib не меняет UILabel свойства
- 27. Подробнее о awakeFromNib vs viewDidLoad
- 28. viewDidLoad не вызывается при инициализации obj viewcontroller из Swift
- 29. Добавление subviews в awakeFromNib
- 30. -awakeFromNib в категории UIView
Спасибо за отзыв «ссылка на представление», это именно то, что я искал. – Cyrille