gpt4 book ai didi

即使 UIPickerViewDataSource 未绑定(bind),iOS UIPickerView 也会调用 numberOfRowsInComponent

转载 作者:行者123 更新时间:2023-11-30 12:47:38 25 4
gpt4 key购买 nike

嗨,这个问题只是出于好奇。

我的 Controller 中有 UIPickerView,委托(delegate)是从 IB 绑定(bind)并在 Controller 中实现的,并且 UIPickerViewDataSource 方法之一是在 Controller numberOfRowsInComponent 中实现的。即使数据源未完全绑定(bind)和实现,也会调用此方法。我想知道这怎么可能?我的想法之一是,这个方法从后台隐式调用......我的代码;

class ViewController: UIViewController, UIPickerViewDelegate {

let titles = ["item 1", "item 2", "item 3", "item 4", "item 5"]

override func viewDidLoad() {
super.viewDidLoad()
}

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

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return titles[row]
}

最佳答案

正如您在评论中提到的,您已经从 storyboard 设置了 delegate/datasource,那么它相当于 pickerView。 delegate = self/pickerView.datasource = self

您可以通过编码或从 Storyboard分配委托(delegate)数据源。因此,在您的情况下,您是从 storyboard 完成的,因此它实际上与您的 pickerView 绑定(bind)。

关于即使 UIPickerViewDataSource 未绑定(bind),iOS UIPickerView 也会调用 numberOfRowsInComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41425014/

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