Переход из файла XIB (также известного как NIB) в Main.storyboard, а метод init не вызывается

Я всегда хотел запустить игру в слова, поэтому 2 недели назад я купил шаблон приложения.

К сожалению, купленный исходный код использует файлы XIB (и не использует ARC), и я хотел бы это изменить.

Поэтому я добавил файл Main.storyboard и скопировал в него содержимое первого файла XIB. Я перетащил свойства, удерживая клавишу Ctrl, установил флажок «Исходный контроллер представления» и указал «Основной» в качестве «Основного имени файла раскадровки» (здесь полный экран):

Xcode

К сожалению, я вижу в отладчике, что код, который находился в методе init HomeViewController.m, не запускается (здесь полный экран):

Xcode

Итак, мой вопрос: как переименовать метод init, чтобы он запускался снова - при использовании раскадровки вместо файлов NIB?

Я предполагаю, что мой вопрос очень прост для опытных программистов iOS, но я не смог найти ответ сам (например, в Просмотреть руководство по программированию контроллера для iOS от Apple).


person Alexander Farber    schedule 16.03.2015    source источник


Ответы (1)


Найдено решение для перехода с XIB на раскадровку:

  • Переместите код с init на initWithCoder:

  • И адаптируйте код Core Data, потому что initWithCoder: вызывается после application:didFinishLaunchingWithOptions: (в то время как init вызывался раньше)

person Alexander Farber    schedule 17.03.2015