嗨,这个问题只是为了好奇。
我的控制器中有 UIPickerView,委托从 IB 绑定并在控制器中实现,并且 UIPickerViewDataSource 方法之一在控制器 numberOfRowsInComponent 中实现。即使 dataSource 没有完全绑定和实现,也会调用此方法。我想知道怎么可能?我的一个想法是,这个方法从后台隐式调用......我的代码;
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]
}