0

ストーリーボードに 2 つのビューを持つナビゲーション コントローラーがあります。

最初のビューでは、これを使用して次の (2 番目の) ビューに移動します。

[self performSegueWithIdentifier:@"SecondViewController" sender:sender];

セグエ スタイルはプッシュです。

2 番目のビューには、2 つのトップ バー ボタン、通常どおり戻る戻るボタン、およびバックグラウンドで何かを実行した後、次のコードで戻るカスタムの右バー ボタンがあります。

[self.navigationController popViewControllerAnimated:YES];

このコードを呼び出すときに、最初のビューで関数を (コールバック関数のように) 呼び出して、最初のビューでいくつかのものを更新したい場合があります。

どうやってやるの?

最初のビューでviewWillAppearを使用しようとしましたが、毎回更新したくありません。

ありがとう!

解決しました。

問題を解決する方法を見つけました: prepareForSegue 関数を使用すると、[segue destinationViewController] オブジェクトの任意のプロパティを設定できます。

そこで、デリゲート プロパティを送信側 (最初の) コントローラーに設定し、2 番目のコントローラーで [delegate anyFunction] を呼び出すことができます。

それはうまくいきます、多分それは良い解決策です... :-S

4

1 に答える 1

2

委任はあなたの問題を解決するはずです。最初のビュー コントローラーを 2 番目のデリゲートにし、ビュー コントローラーを閉じるときにメッセージを送信します。

于 2011-12-01T12:27:13.400 に答える