Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIPickerView:在展开可选值时意外发现nil_Ios_Swift_Uipickerview - Fatal编程技术网

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

Ios UIPickerView:在展开可选值时意外发现nil,ios,swift,uipickerview,Ios,Swift,Uipickerview,我正在尝试对我的应用程序实现UIPickerView。虽然我没有出现错误,但当我运行应用程序时,它会崩溃,并出现以下错误: 在展开可选值时意外发现nil 希望你能帮助我 有关于这发生在哪一行的提示吗?我猜应该是picker.dataSource=self 您没有将其设置为插座,并且它从未根据您共享的内容在任何地方初始化 编辑以供评论 因此,您需要初始化选择器,您可以像初始化大多数事情一样,使用它的标准init()方法进行初始化。然后,您需要告诉文本字段,它的输入视图应该是选择器 尝试将以下内容添

我正在尝试对我的应用程序实现UIPickerView。虽然我没有出现错误,但当我运行应用程序时,它会崩溃,并出现以下错误:

在展开可选值时意外发现nil


希望你能帮助我

有关于这发生在哪一行的提示吗?我猜应该是
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