何やらドラムのような選択肢UIPickerViewは以下のように実装します
SelectMemberViewController: UIViewController{ override func viewDidLoad() { myUIPicker = UIPickerView() // サイズを指定する. myUIPicker.frame = CGRectMake(0,0,self.view.bounds.width, 180.0) // Delegateを設定する. myUIPicker.delegate = self // DataSourceを設定する. myUIPicker.dataSource = self // Viewに追加する. self.view.addSubview(myUIPicker) } } extension SelectMemberViewController: UIPickerViewDelegate, UIPickerViewDataSource { //pickerに表示する列数を返すデータソースメソッド. func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { return 1 } //pickerに表示する行数を返すデータソースメソッド. func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { return myValues.count } //pickerに表示する値を返すデリゲートメソッド. func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { return myValues[row] as? String } //pickerが選択された際に呼ばれるデリゲートメソッド. func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { print("row: \(row)") print("value: \(myValues[row])") } }
Type ‘ViewController’ does not conform to protocol ‘UITableViewDataSource’
などと出た場合は必要なメソッドを宣言していない可能性が有ります