在UITableViewController中使用UIPickerView

在UITableViewController中使用UIPickerView,uitableview,uipickerview,swift4,xcode9,uipickerviewdatasource,Uitableview,Uipickerview,Swift4,Xcode9,Uipickerviewdatasource,我试图将UIPickerView添加到我的UITableViewController中,但它不允许我输入UIPickerViewDataSource 我无法为picker视图设置数据源。。。那么这将如何工作呢 我得到这个错误: 无法将类型“TheTableViewController”的值分配给类型“UIPickerViewDataSource” 我到处寻找解决办法,却找不到。谢谢大家! 我有这个密码 // The number of columns of data func numberOfC

我试图将UIPickerView添加到我的UITableViewController中,但它不允许我输入UIPickerViewDataSource

我无法为picker视图设置数据源。。。那么这将如何工作呢

我得到这个错误: 无法将类型“TheTableViewController”的值分配给类型“UIPickerViewDataSource”

我到处寻找解决办法,却找不到。谢谢大家!

我有这个密码

// The number of columns of data
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
    return 1
}

// The number of rows of data
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return pickerData.count
}

// The data to return for the row and component (column) that's being passed in
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    return pickerData[row]
}

在我添加UIPickerDataSource之前,它工作得很好。

您需要确保符合UIPickerWebDataSource,并拥有所有所需的方法和完全正确的名称

因此,您需要更改为:

func numberOfComponents(in pickerView: UIPickerView) -> Int {
    return 1
}

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return pickerData.count
}

您是否已将“TableViewController”设置为在其类定义中确认UIPickerViewDataSource协议?否,在我的问题中提到。它不会让我。我只能执行UITableViewController、UIPickerViewDeleteGate,而不能执行其他操作。它不允许我添加UIPickerViewDataSource,因为UITableViewController不允许它。这就是问题的全部:(对不起,我错了。所以我刚刚用这个
类ViewController:UITableViewController,UIPickerViewDelegate,UIPickerViewDataSource{
设置了一个测试项目,然后我不得不添加函数
func numberOfComponents(在pickerView:UIPickerView中)->Int
func-pickerView(uPickerView:UIPickerView,行数组件:Int)->Int
。这就是它不允许你做的吗?没有ViewController。只有UITableViewController、UIPicckerViewDeleteGate,并试图做UIPickerViewDataSource,但它不起作用。但是,其他的都是对的。它不会让数据源停留在那里。它说在我添加UIPickerViewDataSource时UITableView不符合协议没有问题很高兴我能帮忙