私はSOを検索して、ViewController間でデータを共有するさまざまな方法を探しました。データを返すための委任がpplが提案する最も一般的な方法であり、一部のpplは、アプリのどこからでも情報を利用できるようにするためにシングルトンを使用していることがわかります。私はまだCoreDataに精通していませんが、これまで見てきたことから、Core DataはManagedObjectContextからのデータにアクセスできるという点で、シングルトンに似ているようです。そのオブジェクトへの参照がある限り、そのデータにアクセスできます(その理解が間違っている場合は、遠慮なく訂正してください)。
このシナリオでは、委任またはシングルトンを使用する必要があるかどうか疑問に思いました。私は基本的に2つのタブを持つタブバーコントローラーを持っています。1つのタブは、委任を使用するか、表示するビューにプロパティを割り当てることで、ビュー間でデータをやり取りします。
2番目のタブは、最初のタブの概要ビューです。したがって、まったく異なるビューのスタックでは、タブ1にあったのと同じデータが必要です。そのシナリオでは、アプリのどこからでもアクセスできるようにシングルトンを使用する必要がありますか?または、より良い解決策はありますか?
また、アプリケーションが閉じられようとしている場合、データをアーカイブするために何をするのだろうかと思います。シングルトンを実装した場合、アプリがバックグラウンドに入るという通知を受け取ったときに、シングルトンを調べてデータを保存できるように思えます。ただし、シングルトンを使用しない場合、アプリがバックグラウンドに入ったときにデータを保存するにはどうすればよいですか。代わりに、その保存コードをアプリデリゲートに配置しますか?
最終的には、アプリ間でデータをアーカイブおよび共有するために、このシナリオでどのデザインパターンが優れているかを理解しようとしていると思います。ありがとう!