私は、複数のWKInterfaceController間でWCSessionを共有する必要がある状況があります。シングルトンアプローチは機能しません。クラスにデリゲートを設定すると、他のクラスのデリゲートはすべて無効になります。シナリオ:インターフェースAは、データ内容に基づいて現在のインターフェースBを送受信します。インターフェースBをタップし、追加のデータを要求して受信します。 WCSessionをAとBの間でどのように共有しますか?WatchConnectivity複数のWKInterfaceController間でセッションを共有する方法は?
0
A
答えて
1
The other answerは、アプリ全体のセッションが機能するとは説明していません。
は、すべてのインターフェイスコントローラで使用できるシェアルトンWCSession
シングルトンを使用します。アプリのライフサイクルの非常に早い段階でセッションマネージャをインスタンス化するだけで、それを独自のデリゲートにすることができます。
各インターフェイスコントローラがセッション委任を処理しようとするのではなく、セッションマネージャ(シングルトン)がインターフェイスコントローラのすべての転送を処理できます。
他の回答で述べたように、通知を使用して、興味のあるインターフェイスコントローラに新しいデータが到着したときを知らせることができます。
セッションやデータマネージャなどのモジュラーアプローチを使用すると、コントローラに実際に属していないコードを残さないようにすることができます。また、各モジュールのテストと活用が容易になります。
Stack Overflowにいくつかの既存の回答が掲載されているので、このコードはここでは繰り返されません。さらに、このテクニックを詳しく網羅した のWeb上の記事もあります。たとえば:
あなたは、多くの場合、時計アプリ、たとえば、間でデータを共有する方法を尋ねる狭く質問内の回答のこれらのタイプを見つけることができますおよびその合併症コントローラ。
0
NSNotificationを使用し、すべてのビューコントローラの変更をリッスンします。
関連する問題
- 1. 複数のWKWebView間でセッションを共有
- 2. dotNetBrowserコントロールの複数のインスタンス間でセッションとCookieを共有する方法
- 3. 複数のアクティビティ間でデータを共有する方法は?
- 4. Kaldi - 複数のデコーダ間でランゲージモデルを共有する方法は?
- 5. 複数のビュー/ XIB間で変数を共有する方法
- 6. RSpec変数を共有コンテキスト間で共有する方法は?
- 7. nodejsでサーバー間でセッションを共有する方法は?
- 8. 複数のEmberプロジェクト間でコンポーネントを共有する方法
- 9. 複数のコントローラ間で$ scopeオブジェクトを共有する方法
- 10. 同じサーバー上の複数のドメイン間でのセッション共有
- 11. 複数のプロセス間で複数の辞書を共有する方法
- 12. Spring3プロジェクト用に複数のサーバー間でセッションを共有するには
- 13. 複数のプロジェクト間で共通のファイルを共有する方法
- 14. ノードアプリケーション間でRedisセッションを共有する
- 15. lifestayで複数のJSPページ間でオブジェクトを共有する方法は?
- 16. IE8のタブ間のセッション共有を避ける方法
- 17. ノードアプリケーション間の共有セッション
- 18. 複数のサイト間でユーザーアカウントを共有
- 19. 複数のアプリケーション間でデータベースを共有
- 20. 複数のイオンプロジェクト間でノードモジュールを共有
- 21. 複数のサブドメインでDjangoセッションを共有する際の短所
- 22. Swift 3のサブクラス間で変数を共有する方法は?
- 23. C#とJavaScriptの間で変数を共有する方法は?
- 24. Pythonでスレッド間でグローバル変数を共有する方法は?
- 25. コントローラを複数のディレクティブで共有する方法は?
- 26. 複数のAngularJSビューでリストアイテムテンプレートを共有する方法は?
- 27. Railsで複数のデータモデル間でクラスメソッドを共有するには?
- 28. iOSの複数のプロジェクト間でコードを共有する最良の方法
- 29. 複数のUIViewControllersの間で1つのストーリーボードシーンを共有する方法
- 30. android.webkit.WebView(複数可)の間でクッキーを含むキャッシュを共有する方法
ああ、良い提案。 –