UIPickerView:展开可选值时意外发现nil

UIPickerView: unexpectedly found nil while unwrapping an Optional value(UIPickerView:展开可选值时意外发现nil)
本文介绍了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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Why local notification is not firing for UNCalendarNotificationTrigger(为什么没有为UNCalendarNotificationTrigger触发本地通知)
iOS VoiceOver functionality changes with Bundle Identifier(IOS画外音功能随捆绑包标识符而变化)
tabbar middle tab out of tabbar corner(选项卡栏中间的选项卡角外)
Pushing UIViewController above UITabBar(将UIView控制器推送到UITabBar上方)
Dropbox Files.download does not start when number of files in folder is gt; 1000(当文件夹中的文件数为1000时,Dropbox Files.Download不会启动)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)