2017-10-17 16 views
0

2つのビューコントローラがあり、最初にボタンがあり、そのボタンを押したときにtextFieldをチェックしたいと思います。しません。私は、「値を入力する」という警告を表示したい。値が含まれている場合は、次のView Controllerに転送したいと思います。条件が真である場合にのみセグを実行する方法

override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool { 

    if identifier == "segue1"{ 

    if txtField.text?.isEmpty == true{ 
     //alert "input value"   
     return false; 
    } 
    else{ 
     } 
     //segue occurs no problem 
     return true; 

} 

私はこれを行うには他にも多くの方法を試しましたが、うまくいかないようです。どんな情報もありがとうございます。 (迅速かつスタックオーバーフローの新しい)

+0

コードは合理的です。あなたはブレークポイントを設定し、何が起こっているかを見るために一歩踏み込んだことがありますか?一つの可能​​性は、 'txtField.text'が' nil'なので、オプションの実行は起こらないということです。 'if(txtField.text ??" ").isEmpty {' – Paulw11

+0

コンセントの接続を確認してください。 –

+0

@ V-Devコンセントの接続を確認することが本当にわかりません。私はそれが問題になる可能性があることを読んだ。しかし、私がそれらを確認するために行くとき、私は本当に私が探しているものを知りません。 [link](https://imgur.com/a/ozU4q)​​ここには各店舗のイメージがあります。できれば見てください。ありがとうございました。 –

答えて

0

あなたの推論は正しいです。あなたのコードが動作していることを確認するために、以下の点を確認してください:

  1. あなたの先ビュー・コントローラにごボタンからセグエを持っています。
  2. お客様のセグの識別子はsegue1です。
  3. isEmptyは、UITextFieldが空の場合に機能します。

たものが正しい場合は、あなたがやったようshouldPerformSegue(withIdentifier:sender:)をオーバーライドする必要がありますが、コードを改善し、以下を実行して、アラートを追加することができます。

override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool { 

    if identifier == "segue1" { 
     if txtField.text?.isEmpty { 
      let alertController = UIAlertController(
       title: "Alert", 
       message: "Input value", 
       preferredStyle: .alert 
      ) 

      present(alertController, animated: true, completion: nil) 
      return false 
     } 
    } 

    return true 
} 

UIAlertControllerチェックの使用方法の詳細についてはDocumentation

+0

私はこれを試しました私はまだ同じエラーが発生しているようです。スレッド1:クラスappdelegate uiresponder uiapplicationdelegateのシグナルsigabrt。私は本当にこのエラーを理解していないし、なぜそれが発生します。このエラーに関する情報はありますか? –

+0

あなたはあなたの 'AppDelegate'と完全なエラースタックを共有しなければなりません。もっと助けることができます – jvrmed

+0

私は彼らが必要とする情報であると信じている2つのイメージを持っています。もしあなたが何らかの情報を得て、おそらく驚くべき解決策を得ることができれば。 [link](https://imgur.com/a/sgBdp)ありがとうございます。 –

関連する問題