2016-12-17 8 views
0

私はUITextFieldクラスを持っています。これは、デリゲートに続いて確認します。私はグローバルクラス(私はスピナーとして使用している小さなカスタムライブラリ)としてこのクラスを使用しています。他のclass()デリゲートとdatasource funcをswiftで使用するには?

//MARK: PickerView Delegate 
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 
    return pickerDataArray![row] 
} 

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 
    self.text = pickerDataArray![row] 
} 

//MARK: TextField Delegate 
func textFieldDidBeginEditing(textField: UITextField) { 
    let row = self.pickerView.selectedRowInComponent(0) 
    self.text = self.pickerDataArray![row] 
} 

ここで、このクラスでdidSelectRow()funcになる選択された行を取得します。だから、私はそれを実装したクラスで何らかの方法でこれらの関数をどのように使うことができるでしょうか?

+1

あなたはカスタムクラスを作成しました。クラスを作成してからuiviewcontrollerをサブクラス化してから、このクラスを拡張して直接呼び出すことができます。 –

+0

私はこのクラスをストーリーボードからカスタムフィールドにします。 @ShobhakarTiwari – Aashish

答えて

2

あなたはそれが基本クラスを作成し、ChildClassに延びているか、使用して行うことができますが

例に使用したいとき:

SuperBaseViewControllerクラス

class SuperBaseViewController: UIPickerViewDataSource, UIPickerViewDelegate{ 

    //Add PickerView's Data Source and Data Delegate Methods Here 

} 

SubViewControllerクラス

class SubViewController: SuperBaseViewController{ 

    //Whenever you click on PickerView's row than it's delegate method in SuperBaseViewController if you add didSelect method 

} 
+0

さて、私はそれに従っていたので、基本的にスーパークラスを継承し、代理人に電話をかけます。 @Sunilというコンセプトをありがとう – Aashish

関連する問題