viewController
たくさんの入力がある があります。それらの一部は通常のテキストですが、一部はピッカーからの入力が必要です。PickerDelegate
それぞれの実装をPickerDataSource
別のファイルに移動して、物事を少しきれいにすることにしました。データは表示されていますが、ピッカーを選択すると、viewController でイベントを発生させる方法がわかりません。現在、PickerDelete クラスでのみ発生します。
いくつかの基本的なレイアウト情報は
class MyClass: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
let jobTypePickerValues = ["value1", "value2"]
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
// returns the # of rows in each component..
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return jobTypePickerValues.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return jobTypePickerValues[row]
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
//println("I want this in the view controller that set up the picker")
}
ピッカーを表示しているView Controllerには、次のものがあります
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
myClassSource = MyClass()
pickerView = UIPickerView()
pickerView.dataSource = myClassSource
pickerView.delegate = myClassSource
// set the input view of the job type to be a picker view
textInput.inputView = pickerView
textInput.text = jobTypePickerValues[0]
}