Ios UIPickerView:在展开可选值时意外发现nil
我正在尝试对我的应用程序实现UIPickerView。虽然我没有出现错误,但当我运行应用程序时,它会崩溃,并出现以下错误: 在展开可选值时意外发现nilIos UIPickerView:在展开可选值时意外发现nil,ios,swift,uipickerview,Ios,Swift,Uipickerview,我正在尝试对我的应用程序实现UIPickerView。虽然我没有出现错误,但当我运行应用程序时,它会崩溃,并出现以下错误: 在展开可选值时意外发现nil 希望你能帮助我 有关于这发生在哪一行的提示吗?我猜应该是picker.dataSource=self 您没有将其设置为插座,并且它从未根据您共享的内容在任何地方初始化 编辑以供评论 因此,您需要初始化选择器,您可以像初始化大多数事情一样,使用它的标准init()方法进行初始化。然后,您需要告诉文本字段,它的输入视图应该是选择器 尝试将以下内容添
希望你能帮助我 有关于这发生在哪一行的提示吗?我猜应该是
picker.dataSource=self
您没有将其设置为插座,并且它从未根据您共享的内容在任何地方初始化
编辑以供评论
因此,您需要初始化选择器,您可以像初始化大多数事情一样,使用它的标准init()方法进行初始化。然后,您需要告诉文本字段,它的输入视图应该是选择器
尝试将以下内容添加到viewDidLoad()
有没有关于这发生在哪一行的提示?我猜应该是
picker.dataSource=self
您没有将其设置为插座,并且它从未根据您共享的内容在任何地方初始化
编辑以供评论
因此,您需要初始化选择器,您可以像初始化大多数事情一样,使用它的标准init()方法进行初始化。然后,您需要告诉文本字段,它的输入视图应该是选择器
尝试将以下内容添加到viewDidLoad()
有没有关于这发生在哪一行的提示?我猜应该是
picker.dataSource=self
您没有将其设置为插座,并且它从未根据您共享的内容在任何地方初始化
编辑以供评论
因此,您需要初始化选择器,您可以像初始化大多数事情一样,使用它的标准init()方法进行初始化。然后,您需要告诉文本字段,它的输入视图应该是选择器
尝试将以下内容添加到viewDidLoad()
有没有关于这发生在哪一行的提示?我猜应该是
picker.dataSource=self
您没有将其设置为插座,并且它从未根据您共享的内容在任何地方初始化
编辑以供评论
因此,您需要初始化选择器,您可以像初始化大多数事情一样,使用它的标准init()方法进行初始化。然后,您需要告诉文本字段,它的输入视图应该是选择器
尝试将以下内容添加到viewDidLoad()
您从未创建过
UIPickerView
实例-或者picker
应该标记为@IBOutlet
并连接到您的故事板中,或者您应该在设置委托和数据源之前创建它。您从未创建过UIPickerView
实例-或者picker
应该标记为@IBOutlet
并连接到您的故事板中,或者您应该在设置委托和数据源之前创建它。您从来没有创建过UIPickerView
实例-或者选取器
应该标记为@IBOutlet
并连接到您的故事板中,或者您应该创建在设置代理和数据源之前,请执行此操作。您从未创建过UIPickerView
实例-或者picker
应标记为@IBOutlet
并连接到情节提要中,或者您应该在设置代理和数据源之前创建它。是。这是“picker.dataSource=self”行。当应用程序中编辑文本字段时,它应该会弹出,所以我没有将它连接到插座。如何初始化它。在记录片里找不到什么东西给创始者。谢谢你的帮助!更新以解决您的评论是。这是“picker.dataSource=self”行。当应用程序中编辑文本字段时,它应该会弹出,所以我没有将它连接到插座。如何初始化它。在记录片里找不到什么东西给创始者。谢谢你的帮助!更新以解决您的评论是。这是“picker.dataSource=self”行。当应用程序中编辑文本字段时,它应该会弹出,所以我没有将它连接到插座。如何初始化它。在记录片里找不到什么东西给创始者。谢谢你的帮助!更新以解决您的评论是。这是“picker.dataSource=self”行。当应用程序中编辑文本字段时,它应该会弹出,所以我没有将它连接到插座。如何初始化它。在记录片里找不到什么东西给创始者。谢谢你的帮助!更新以解决您的评论可能重复的可能重复的可能重复的可能重复的
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 = UIPickerView()
textField.inputView = picker