2016-12-16 4 views
0

シナリオ:共有/同期された領域。複数のビューを持つiOS/Swift App複数のビュー間で同期アクティビティを維持するためのベストプラクティスまたはデザインパターンは何ですか?

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

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

レルムのデータ変更に関する通知を破棄し、ビューごとに再構築すべきですか?

+0

クリアする - データストア - ローカルとサーバー - はレルムです。 –

答えて

3

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

+0

@kishikawaありがとうございます。私はこれが正しいパターンだと思ったが、二重チェックしたい。 –

+0

@IanBradbury Yuoはこの解決策を受け入れることを望むかもしれません:-) – bmunk

0

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

のiOSでObserverパターン: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

関連する問題