アプリケーションは、惑星やその衛星などに関する情報を表示します。惑星のリストを表示し、ユーザーが惑星を選択してその詳細を表示し、ブックマーク/ブックマークを解除できるようにします。選択した惑星の詳細をユーザーに表示するビューがあり、ブックマークの追加/削除ボタンも含まれています。ユーザーがそのボタンをクリックすると、そのブックマークが追加/削除され、現在のビューの上に別のビューが押されて、ブックマークが削除されたことをユーザーに通知します。
ここで問題となるのは、ユーザーがステータスビューに表示されたナビゲーションバーの左側にある戻る/惑星の詳細ボタンをクリックして惑星の詳細ビューに戻った場合でも、追加/削除(前に表示された方)ボタンが表示されますが、私が書いたコードに従って、(以前にロードされたボタンに従って)削除/追加する必要があります。
私が理解できるのは、ユーザーがその戻るボタンをクリックしても、前のビューは再ロードされず、ステータスビューがポップアップするだけだということです。ユーザーがステータスビューの[戻る]ボタンをクリックしたときに、アプリでsetNeedsDisplayを実行したり、ブックマークの詳細viewDidLoadコードを再読み込みしたりする方法はありますか?
または、別の解決策がありますか?
ブックマークを削除/追加したばかりだとユーザーが思っているのに、ボタンが追加/削除を求めているので、ユーザーは非常に混乱します...
そのステータスビューは、コードの他のセクションでも使用され、アクションのユーザーに結果を表示して、コードを変更できないようにします。または、前のビューを確認し、惑星の詳細であるかどうかを確認してから、その内容をリロードします。