2015-10-21 4 views
2

Мой IOS приложение сбой, когда я запускаю следующую строку кода после нажатия стандартной UIButton:Swift - Фатальная ошибка на Performing Segue

self.performSegueWithIdentifier("loginAttempt", sender: self) 

Имя идентификатора Segue является правильным, как я скопировал и вставил имя из боковой панели в код. После удаления кода приложение перестает сбой при нажатии кнопки.

Ошибки я получаю:

Thread 1: EXC_BREAKPOINT (code=1, subcode=0x1002544fc) 

И в поле Output:

fatal error: unexpectedly found nil while unwrapping an Optional value 
+0

Вы назвали segue 'loginAttempt' из раскадровки? – brimstone

+0

Если вы имеете в виду опцию «Идентификатор», найденную в инспекторе атрибутов, тогда да. Вот где я скопировал это имя из кода, чтобы не было никаких орфографических ошибок. –

+0

Вы перетащили сегмент из контроллера вида на следующий контроллер вида или с кнопки на следующий контроллер вида? – brimstone

ответ

0

ошибка где-то еще, но для clearity.

1) положить точку останова на линии разметки и отметить, что управление достигает линии segue.

Или

2) следующие положить SEGUE для тестирования:

override func viewDidAppear(animated: Bool) { 
    self.performSegueWithIdentifier("loginAttempt", sender: self) 
} 

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { 
    if (segue.identifier == "loginAttempt") { 
     print("Hi segue is working") 
    } 
} 

, если он печатает строку, то SEGUE работает.

+0

Должно ли это все в ViewController.swift? –

+0

да добавьте эти два метода в ViewController.swift –

+0

Итак, в окне вывода печатается сообщение «Привет, segue работает» ... но все равно сбой.Добавили точку останова в исходную строку кода, и она дошла до этой точки и остановилась там. –

0

У меня была аналогичная проблема, и после многих часов разочарования я нашел свою проблему. В конечном итоге проблема заключалась в том, что я добавил новый код в свой класс ViewController. На странице, которую я тоже проводил, никогда не назначался класс и по умолчанию был выбран класс ViewController. Когда он попытался запустить код для этого класса, новому контроллеру представления отсутствовали элементы, найденные в коде, и вызвали сбой.

Я просто создал новый класс, чтобы передать страницу, которую я тоже переделывал, и все снова работало отлично!

Я не уверен, что это ваша проблема, но я надеюсь, что по крайней мере поможет немного, где проблема может быть!