本文介绍了UIPickerView:展开可选值时意外发现nil的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将UIPickerView实现到我的App中。虽然我没有收到错误,但当我运行应用程序时,它崩溃了,错误如下:
展开可选值时意外发现空
class LobbyViewController: UIViewController { @IBOutlet weak var textfield: UITextField! var picker: UIPickerView! var radius = [2, 5, 10, 15, 20, 25, 50, 100, 1000] override func viewDidLoad() { super.viewDidLoad() picker.dataSource = self picker.delegate = self self.textfield.inputView = picker } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } } extension LobbyViewController: UIPickerViewDataSource { func numberOfComponentsInPickerView(picker: UIPickerView!) -> Int { return 1 } func pickerView(picker: UIPickerView!, numberOfRowsInComponent component: Int) -> Int{ return radius.count } } extension LobbyViewController: UIPickerViewDelegate{ func pickerView(umkreisPicker: UIPickerView!, titleForRow row: Int, forComponent component: Int) -> String { return radius[row] } }希望您能帮助我!
推荐答案有关此操作发生在哪行的任何提示?我的猜测是picker.dataSource = self
您没有将此设置为插座,并且它永远不会根据您共享的内容在任何地方进行初始化。
编辑备注
所以您需要初始化选取器,您可以像初始化大多数事情一样,使用它的标准init()方法来完成这项工作。然后,您需要告诉文本字段它的输入视图应该是选取器。
尝试将以下内容添加到viewDidLoad()
picker = UIPickerView() textField.inputView = picker更多推荐
UIPickerView:展开可选值时意外发现nil
发布评论