Первая проблема заключается в том, что вы не сохраняете созданный экземпляр представления выбора. Вы создаете его экземпляр внутри функции, назначаете делегат и источник данных, а затем не сохраняете его в своем классе. Таким образом, ARC (автоматический подсчет ссылок) освобождает его, поскольку считает, что экземпляр больше не нужен. Просто создайте переменную в вашем PickerController
и сохраняйте, пока контроллер представления активен.
Вторая проблема заключается в том, что вы на самом деле хотите видеть представление средства выбора, поэтому вам нужно добавить его в представление контроллера представления. Возможно, вам придется расположить его правильно или использовать ограничения макета (Поиск автоматического макета).
var pickerView: UIPickerView!
func createPickerView() {
pickerView = UIPickerView()
pickerView.delegate = self
pickerView.dataSource = self
view.addSubview(pickerView)
}