2015-04-23 6 views
1

Я столкнулся с очень странной ошибкой в ​​Swift.IOS Swift - модальная ошибка просмотра

Я создал ViewController (A), встроенный в NavigationController. В верхнем правом углу у меня есть BarButtonItem, у которого есть сегу, установленный в Раскадке в модальном виде на другой Viewcontroller (B).

В главном VC (A) у меня есть делегат TextField, который является основным VC.

override func viewDidLoad() { 
    super.viewDidLoad() 

    intervalTextField.delegate = self 
    endTimeTextField.delegate = self 
    ... 
} 

Когда я запускаю мое приложение, и новый ViewController (B) (в раскадровке) не связывается с ViewController.swift (B). Когда я нажимаю кнопку бара (от А). Он показывает модальный (B) без проблем. Когда я связываю (B) в StoryBoard с быстрыми файлами для модального viewController (B). Biiim ...

Я получил эту ошибку:

fatal error: unexpectedly found nil while unwrapping an Optional value

и точку отладчика для определения первого TextField делегата в главном ViewController (А) с EXC_BAD_INSTRUCTION.

Я удалил (B) созданный другой ViewController (C) (сначала раскадровка), не связанный с кодом. Оно работает. Я создаю еще один ViewController.swift (C), я связываю их. Такая же ошибка возникает, когда я устанавливаю модальный переход между (A) и (C)

В чем может быть проблема и почему эта ошибка? оо

Заранее спасибо

EDIT: Я добавил A, B, C для большего понимания. А также контроллер (A) работает очень хорошо, мои текстовые поля работают нормально, объявлены и т. Д.

ответ

0

Возможно, вы захотите обновить свой вопрос, явно указав, какой контроллер просмотра есть. Я немного смущен тем, где именно вы столкнулись с ошибкой, но в основном это исключение бросается, потому что ваш UITextField - nil. Убедитесь, что вы правильно подключили IBOutlet к контроллеру вашего вида. Щелкните правой кнопкой мыши UITextField, чтобы узнать, имеет ли он правильное соединение. Если он подключен правильно, вы увидите маленькую черную точку в вашем IBOutlet так:

enter image description here

^

Парящий над и нажав на точку следует принять Вас в свой код надлежащего UITextField.

+0

Спасибо за ваш ответ, я обновил свое сообщение для большей ясности. и проблема не должна быть там, потому что весь контроллер (A) работает нормально. – dib258

+0

В вашем вопросе вы написали «Отладчик указывает на определение первого делегата TextField в главном ViewController». Разве это не означает, что ваш главный контроллер вида (A) не работает нормально? В IB, если вы щелкнете правой кнопкой мыши 'intervalTextField', показывает ли она ссылку? – Aaron

+0

Это тайна ... Все отлично работает на (A), я нажимаю на BarButton для загрузки (B). и мы можем видеть в stacktrace, что прежде чем указывать на объявление делегата TextField, что мы были в viewDidLoad (B). Вот почему я не понимаю, почему отладчик указывает на (A). – dib258

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