私のiOSアプリでは、ナビゲーションコントローラを使用してユーザーがナビゲートします。 ユーザは異なるUITableViewControllerを使用してナビゲートします。データをルートに戻すViewController
のUIViewController - のUITableViewController - のUITableViewController
ユーザーが、私は、ルートビューコントローラに戻るには、次の呼び出しを使用しています「最後」のUITableViewControllerの項目を選択した後:
DispatchQueue.main.async { self.navigationController?.popToRootViewController(animated: true) }
どのようにすることができますデータをルートコントローラに戻しますか?以前は通知を使用していましたが、この概念は本当に嫌です。よりエレガントな方法がありますか? ビュースタック上のすべての単一のUIViewControllerは
func prepare(for segue: UIStoryboardSegue, sender: Any?)
方法を使用して初期化され、自分のコールバックを実装する必要がありますか?
これはどのようにエレガントに実装できますか?
あなたがseguesを使用していますか?その場合、unwind segueを使用し、unwindメソッドからテーブルビューコントローラインスタンスにアクセスしてデータを戻すことができます。 – Paulw11
可能であれば、データモデルを変更して、最初のビューコントローラに戻った後、新しいデータに基づいて外観を更新する必要があります。 – Losiowaty