2014-12-08 1 views
6

Раньше у меня были все мои контроллеры представлений в одной и той же раскадровке, я решил, что имеет смысл разделить раскадровки, чтобы я создал новую раскадровку файл New File -> User Interface -> StoryBoard, вырезать все контроллеры, связанные с управлением пользователя (Логин, регистр, пароль восстановить ...) и вставить их в новый файлStoryboard не содержит контроллер представления с идентификатором ... при использовании нескольких файлов раскадровки

Теперь, когда я называю storyboard.instantiateViewControllerWithIdentifier("LoginViewController") он падает со следующей ошибкой:

'Storyboard (<UIStoryboard: 0x...>) doesn't contain a view 
      controller with identifier 'LoginViewController'' 

Как я могу это решить?

+0

ли вы экземпляру новому раскадровке? 'let storyboard2 = UIStoryboard (name: ..., bundle: ...)' – zisoft

+0

Это была проблема, спасибо – Addev

ответ

4

Вы должны создать новый экземпляр раскадровки, и получить LoginViewController StoryboardId

//Here, create an instance of the second storyboard excluding the extension(.storyboard), 
var storyBoard = UIStoryboard(name: "SecondStoryBoard", bundle: nil) 

//Here instantiate view controller with the storyboard instance, 
//Before that create a storyboardId for the corresponding view controller. 
var loginVC = storyBoard.instantiateViewControllerWithIdentifier("loginViewController") as LoginViewController 

//Here, the storyboard identifier is "loginViewController" which is created in the respective view controller's "Identity" inspector 

Надеется, что это помогает, Happy Coding :)

15

Я думаю, ваша проблема здесь, перейдите к Main.storyBoard после этого нажмите на вашем ViewController, который вы хотите, чтобы начать после этого дать его идентификатору здесь:

enter image description here

Может быть это будет помочь тебе.

+0

Спасите меня много времени, спасибо! – EPerrin95

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