嗨,这个问题只是出于好奇。
我的控制器中有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]
}发布于 2017-01-02 10:50:22
正如您在评论中提到的,您已经从delegate/ datasource中设置了storyboard,然后将其等效为pickerView.delegate = self / pickerView.datasource = self。
您可以通过delegate编码或从故事板分配和。因此,在您的例子中,您是从storyboard完成的,因此它实际上与您的pickerView绑定。
https://stackoverflow.com/questions/41425014
复制相似问题