Ios UIPickerView方法将UIPickerView对象作为参数,但未使用
我正在读一本Swift OOP的书,我理解了实例方法具有参数的想法,这些参数将在函数中使用。不清楚的是,在遵循UIPickerView和UITableView的在线教程时,有些方法将UIPickerView或UITableView对象作为参数,但未在函数中使用 例如:Ios UIPickerView方法将UIPickerView对象作为参数,但未使用,ios,swift,uitableview,oop,uipickerview,Ios,Swift,Uitableview,Oop,Uipickerview,我正在读一本Swift OOP的书,我理解了实例方法具有参数的想法,这些参数将在函数中使用。不清楚的是,在遵循UIPickerView和UITableView的在线教程时,有些方法将UIPickerView或UITableView对象作为参数,但未在函数中使用 例如: func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { // Return the
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
// Return the number of rows of data
return gamesList.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return gamesList[row].name
}
在这些函数中不使用获取UIPickerView对象的第一个参数pickerView。我想知道为什么在方法的签名中将它们作为参数,但在教程中很少使用这些对象?还是我想的不对
提前感谢您提供的帮助,以便更好地理解。您正在讨论的所有
委托
和数据源
方法中的第一个对象不是未使用的对象,它将保存当前UIPickerView
的引用,因此,如果在同一个ViewController
中有多个UIPickerView
,则将使用它。同样的事情也适用于所有其他控件,如UITableView
,UICollectionView
等
例如,如果在同一控制器中有2个UIPickerView
,则可以通过在UIPickerView
方法中比较来填充UIPickerView
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if pickerView == firstPickerView {
return gamesList1.count
}
//else return for second pickerView
return gamesList2.count
}
因此,您需要比较UIPickerView
的所有方法中的pickerView
引用,并根据它填充或访问数据