UIPickerView 方法将 UIPickerView 对象作为参数但未使用
UIPickerView Methods have UIPickerView Objects as Arguments But Are Unused
我正在阅读一本 Swift OOP 书籍,并且我了解实例方法具有将在函数中使用的参数的想法。不清楚的是,在遵循 UIPickerViews 和 UITableViews 的在线教程时,有些方法将 UIPickerView 或 UITableView 对象作为参数但未在函数中使用。
例如:
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 没有在这些函数中使用。我想知道为什么将它们作为方法签名中的参数,但教程中很少使用这些对象?还是我想错了?
提前感谢您提供的任何帮助,以便更好地理解。
您所说的所有 Delegate
和 Datasource
方法中的第一个对象不是未使用的对象,它将保存当前 UIPickerView
的引用,因此它将如果您在同一个 ViewController
中有多个 UIPickerView
,则使用它。同样的事情也适用于所有其他控件,如 UITableView
、UICollectionView
等
例如,如果您在同一个 Controller
中有 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
引用,并根据它填充或访问数据
我正在阅读一本 Swift OOP 书籍,并且我了解实例方法具有将在函数中使用的参数的想法。不清楚的是,在遵循 UIPickerViews 和 UITableViews 的在线教程时,有些方法将 UIPickerView 或 UITableView 对象作为参数但未在函数中使用。
例如:
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 没有在这些函数中使用。我想知道为什么将它们作为方法签名中的参数,但教程中很少使用这些对象?还是我想错了?
提前感谢您提供的任何帮助,以便更好地理解。
您所说的所有 Delegate
和 Datasource
方法中的第一个对象不是未使用的对象,它将保存当前 UIPickerView
的引用,因此它将如果您在同一个 ViewController
中有多个 UIPickerView
,则使用它。同样的事情也适用于所有其他控件,如 UITableView
、UICollectionView
等
例如,如果您在同一个 Controller
中有 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
引用,并根据它填充或访问数据