gpt4 book ai didi

ios - UIPickerView 方法将 UIPickerView 对象作为参数但未使用

转载 作者:行者123 更新时间:2023-11-28 06:26:39 27 4
gpt4 key购买 nike

我正在阅读一本 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 没有在这些函数中使用。我想知道为什么将它们作为方法签名中的参数,但教程中很少使用这些对象?还是我想错了?

提前感谢您提供的任何帮助,以便更好地理解。

最佳答案

您正在谈论的所有 DelegateDatasource 方法的第一个对象不是未使用的对象,它将保存当前 UIPickerView< 的引用,因此如果您在同一个 ViewController 中有多个 UIPickerView,它将被使用。同样的事情也适用于所有其他控件,如 UITableViewUICollectionView 等。

例如,如果您在同一个 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的引用,根据它来填充或访问数据。

关于ios - UIPickerView 方法将 UIPickerView 对象作为参数但未使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41669774/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com