2017-08-25 11 views
0

DetailViewControllerからSecondViewcontrollerへのUnwind Segueを作成しようとしています。UnwindSegueを正しく実行してください。

@IBAction func segueToSecondVC(sender: UIStoryboardSegue) { 
    print("segue intercepted by IBAction segueToSecondVC") 
} 

Anは、受信機のViewController(secondViewController)の中に配置:

IはSeguesによって傍受することができ、このようにIBActionを作成しました。

次にDetailviewcontrollerに移動し、viewcontroller(exit)の上部にある3番目の図をクリックし、イベントのリストに表示されたsegueToSecondVC IBActionをクリックして、 "TURN BACK"ボタンにドラッグしましたボタンをイベントに関連付けるために、DetailviewController内の)ボタンをクリックします。 このようにして、ボタンはイベントに接続され、自動的に隠れた状態でsecondVCに戻ります。

しかし、それは動作しません、シミュレータがクラッシュし、 "スレッド1:信号SIGABRT"というAppdelegateのエラーでxCodeエディタにリダイレクトされます なぜ動作しないのかわかりません私を助けることができますか?

答えて

0

あなたはこのようにアンワインドを使用することができます。ファイルの定数にすべてのsegues名を追加することで、

@IBAction func prepareForUnwind(segue: UIStoryboardSegue){} 


@IBAction func closePressed(_ sender: Any) { 
     performSegue(withIdentifier: "unwindToAnotherVC", sender: nil) 
    } 

良いルール: は

import Foundation 

// Segues 
let TO_LOGIN = "toLogin" 
let TO_CREATE_ACCOUNT = "toCreateAccount" 
let UNWIND = "unwindToChannel" 

迅速なファイルを作成し、

でおくつろぎを使用
@IBAction func closePressed(_ sender: Any) { 
      performSegue(withIdentifier: UNWIND, sender: nil) 
     } 
+0

最初のIBActionは受信者のViewControllerにあるはずですDetailViewController内の2番目のIBActionです。 "実際の"セグを使わずにすべてのviewcontrollerの先頭にある終了モードを使用しようとしていました。私はviewControllerの終了モードを使用して2番目のViewControllerで作成されたイベントとボタンTURN BACKを一致させようとしていました。 – Mike

関連する問題