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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:UIPickerView:展开可选值时意外发现nil
猜你喜欢
- 如何检查发送到 Android 应用程序的 Firebase 消息的传递状态? 2022-01-01
- MalformedJsonException:在第1行第1列路径中使用JsonReader.setLenient(True)接受格式错误的JSON 2022-01-01
- Android viewpager检测滑动超出范围 2022-01-01
- Android - 拆分 Drawable 2022-01-01
- Android - 我如何找出用户有多少未读电子邮件? 2022-01-01
- 用 Swift 实现 UITextFieldDelegate 2022-01-01
- android 4中的android RadioButton问题 2022-01-01
- 想使用ViewPager,无法识别android.support.*? 2022-01-01
- 在测试浓缩咖啡时,Android设备不会在屏幕上启动活动 2022-01-01
- 使用自定义动画时在 iOS9 上忽略 edgesForExtendedLayout 2022-01-01