Ful*_*chs 4 protocols ios swift
import UIKit
class FourthViewController: UIViewController,UIPickerViewDelegate,UIPickerViewDataSource {
@IBOutlet weak var picker: UIPickerView!
var pickerData: [String] = [String]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.picker.delegate = self
self.picker.dataSource = self
pickerData = ["Item 1", "Item 2", "Item 3", "Item 4", "Item 5", "Item 6"] }
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//MARK: - Delegates and data sources
//MARK: Data Sources
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return pickerData.count
}
//MARK: Delegates
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return pickerData[row]
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
}
Run Code Online (Sandbox Code Playgroud)
错误:类型'FourthViewController'不符合协议'UIPickerViewDataSource'
只是为了测试一些功能,但我没有得到问题
OOP*_*Per 11
如您所见,您需要实施numberOfComponents(in:).
你的numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int,需要改为:
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
Run Code Online (Sandbox Code Playgroud)
你还需要修改你的pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?:
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return pickerData[row]
}
Run Code Online (Sandbox Code Playgroud)
在Swift 3中,许多方法都被重命名.检查最新的参考,并注意这一点.你最好在你的问题中评论Xcode版本.
| 归档时间: |
|
| 查看次数: |
3438 次 |
| 最近记录: |