2017-04-14 1 views
-1

두 탐색 컨트롤러간에 데이터를 전달하고 싶습니다. 나는 segue 방법을 수행 할 수 있습니다. 그러나 나는 문제가있다. 내 첫 번째 탐색 컨트롤에는 3 개의 텍스트 필드와 버튼이 있습니다. 버튼을 클릭하면 다른 네비게이션 컨트롤러를 누릅니다. 어떻게하면 텍스트 필드가 채워 졌을 때 다른 탐색 컨트롤로 밀어 넣을 수 있습니까? 텍스트 필드가 비어 있어도 다른 nc를 눌러도 버튼을 클릭합니다. 너를 망쳤다.2 ViewController 양식 사이에 데이터를 전달할 때 Swift 3.1

답변

0

shouldPerformSegue(withIdentifier:sender:)을 구현하고 segue를 수행 할 수있는 경우에만 true을 반환하고, 그렇지 않으면 false를 반환해야합니다.

shouldPerformSegue()은 segue가 수행되기 직전에 호출됩니다.

+0

고맙습니다.이 간단하고 좋은 방법 :) – Mayday

0

콘센트의 이름을 지정하는 말 형태로 텍스트 필드에 대한 출구를 추가 textfield1, textfield2, textfield3

func allTextFieldsAreFilled() -> Bool { 

    if (textfield1.text?.characters.count > 0 && textfield2.text?.characters.count > 0 && textfield3.text?.characters.count > 0) { 

     return true 
    } 
    return false 
} 

설정해야합니다

func textFieldDidEndEditing(_ textField: UITextField) { 

    if (textField == textfield3) { 
     if self.allTextFieldsAreFilled() { //Check if all textfields are filled 
      //Add your push code here 
      self.navigationController?.pushViewController(viewController, animated: true) 
     } 
    } 
} 

이 검증 기능을 추가 다음 대리자 메서드를 구현 등 delegate 모든 텍스트 필드에

관련 문제