Picker View uncaught исключения SWIFT - PullRequest
0 голосов
/ 08 марта 2019

Здравствуйте, я новичок в SWIFT, и у меня есть проблема с моим проектом: у меня есть средство выбора View на одном из моих контроллеров View, и я думаю, что я подключил все розетки, но когда я выполняю код и тестирую свое приложение наэмулятор выдает ошибку, когда я нажимаю на кнопку (в предыдущем просмотре), которая должна открыть представление, в котором установлен мой вид выбора.Когда я избавляюсь от моего средства выбора View от контроллера View, больше нет ошибок.Дело в том, что я просмотрел все уроки в PickerView и сделал все, что они показали ...

Я не знаю, откуда взялась моя ошибка.

Я позволил некоторым снимкам экрана быть более понятными

image image image

1 Ответ

0 голосов
/ 08 марта 2019

Первая проблема заключается в том, что вы не сохраняете созданный экземпляр представления выбора. Вы создаете его экземпляр внутри функции, назначаете делегат и источник данных, а затем не сохраняете его в своем классе. Таким образом, ARC (автоматический подсчет ссылок) освобождает его, поскольку считает, что экземпляр больше не нужен. Просто создайте переменную в вашем PickerController и сохраняйте, пока контроллер представления активен.

Вторая проблема заключается в том, что вы на самом деле хотите видеть представление средства выбора, поэтому вам нужно добавить его в представление контроллера представления. Возможно, вам придется расположить его правильно или использовать ограничения макета (Поиск автоматического макета).

var pickerView: UIPickerView!

func createPickerView() {
    pickerView = UIPickerView()
    pickerView.delegate = self
    pickerView.dataSource = self
    view.addSubview(pickerView)
}
...