2016-12-17 3 views
0

다음 대리인에게 확인하는 UITextField 클래스가 있습니다. 이 클래스를 전역 클래스 (작은 사용자 정의 라이브러리, 회 전자로 사용)로 사용하고 있습니다.다른 클래스() delegate 및 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

좋아요, 나는 그걸 따라 왔고 맞았습니다. 그래서 기본적으로 당신이 말하기를 원하는 것은 superClass를 상속 받아 대표자에게 전화하는 것입니다. @Sunil 개념을 주셔서 감사합니다. – Aashish

관련 문제