2016-06-02 6 views
0

У меня есть собственный метод инициализации для моего UIViewController, я хочу загрузить его из storyBoard, так как только XYZController() дает пустое представление.Загрузка UIViewController из раскадровки с помощью собственного метода инициализации

convenience init() { 
    self.init(imageURL: nil) 
} 

init(imageURL: NSURL?){ 
    //code to load the ViewController from StoryBoard 
    super.init(nibName: nil, bundle: NSBundle.mainBundle()) 

} 

required init(coder aDecoder: NSCoder) { 
    super.init(coder: aDecoder)! 
} 
+0

Вы не можете использовать свой файл n init, если вы хотите создать экземпляр своего контроллера представления из раскадровки. Вам нужно назначить imageURL после получения VC из раскадровки. – Paulw11

ответ

0

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

Во-первых, имя SEGUE к контроллеру представления в раскадровке (нажмите на него, а затем введите имя «Идентификатор» на вкладке свойств.

Когда переход срабатывает, prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) будет называться. Вы можете убедиться, что вы переходите к соответствующему контроллеру просмотра, проверяя свойство идентификатора segue, а затем передайте целевой элемент управления segue в XYZViewController.

После этого вы сможете вызвать функцию настройки или, как вы хотите, URL-адрес изображения для контроллера.

Смежные вопросы