0

シナリオ: 共有/同期されたレルム。複数のビューを備えた iOS/Swift アプリ。

バックグラウンドで同期を維持し、複数のビューに自動 (リアルタイム) 更新を提供するために使用する必要があるベスト プラクティスの設計パターンは何ですか?

追加のタスク アプリを見ると、これは理にかなっていますが、アプリには実際にはアクティブなビューが 1 つしかありません。複数のビューがある場合はどうなりますか?

データ変更の Realm 通知を破棄し、ビューごとに再構築する必要がありますか?

4

2 に答える 2

3

推奨される方法は、単一の View Controller の場合と同じです。各ビュー コントローラーの結果オブジェクトを取得し、それをデータ ソースとして直接使用します。Realm の通知メカニズムを使用して、結果オブジェクトを確認できます。結果に影響を与える変更がバックグラウンド スレッドからコミットされると、通知が発生します。Results オブジェクトは自動的に最新の状態に更新されています。あとは UI を更新するだけです。

于 2016-12-16T16:23:29.817 に答える
0

オブザーバー パターンを使用できます。また、モデルに CoreData を使用すると、更新/挿入/削除コールバックを取得して、それに応じてビューを更新するのも非常に簡単です。

iOS のオブザーバー パターン: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html

CoreData の詳細については、https ://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/index.html?utm_source=iosstash.io をご覧ください。

于 2016-12-16T08:17:22.080 に答える