2016-07-09 6 views
1

値などのデータを2番目のビューコントローラから最初のビューコントローラに渡す方法を知りたいと思います。私は最初から最後まで単純なセグをしました。私はちょうどそれを逆にする方法を知らない。2番目のビューから1番目のビューコントローラにデータを渡す

私は最初のコントローラのビューと2番目のコントローラのビューを持っています。私が作成したカスタムの戻るボタンをクリックすると、第2のビューからの変更を最初のコントローラのビューに渡したいと思います。それをどうやって行うのですか?

私はそれがゆるやかなセグエと関係があることを知っていますが、私が見上げるものはすべて非常に不明瞭で混乱しています。

+0

http://stackoverflow.com/a/9736559/1271826の「渡すデータ」を参照してください。または、そこの他の回答の参照を参照してください。 – Rob

答えて

0

逆にするには、コメントにリンクされている@Robのようなdelegateまたはblocksとすることができます。

あなたの言葉のようにリラックスしたセグをすることもできます。シンプルなセグのように、巻き戻しセグは、第2のビューコントローラーから第1のビューコントローラーにデータを渡すのに役立ちます(prepareForSegue)。

ViewControllerBに続くViewControllerAがあります。今回は、ViewControllerBViewControllerAの巻き戻しセグを設定します。ストーリーボードに設定する前に、ViewControllerAUIViewControllerにはViewControllerBを巻き戻したくない場合は、@IBActionを設定する必要があります。このような何か:ストーリーボードで

@IBAction func cancelToViewControllerA(segue:UIStoryboardSegue) { 
} 

ViewControllerB制御ではexitにアンワインドセグエを呼び出し、cancelToViewControllerAを選択しますbuttonをドラッグします。その後、それを解き放つセグエの名前を付けます。 ViewControllerBで、prepareForSegueのように、データを渡して巻き戻しセグのデータを設定したようにします。

+0

あなたの最後の文章では、「ViewControllerBではprepareForSegueをオーバーライドして、データを渡してunwind segueのデータを設定したようにします。その部分をもう少し説明できますか?どのように前進したのと同じようにデータを戻すためにprepareForSegueルーチンをオーバーライドするのですか? – lopezdp

関連する問題