2015-07-03 3 views
5

Meine iOS-App sendet zeitnah Informationen über das WatchConnectivity-Framework. Die empfangende Seite implementiert den Delegaten von WCSession.WatchOS2 WCSession Wie viele Delegaten kann die WCSession in WatchKitExtension haben?

Ich habe 2 interfaceControllers, die die von der WCSession gesendeten Informationen benötigen.

Einer ist der glanceInterfaceController und der andere ist mein mainInterfaceController.

Kann beiden der Delegat zugewiesen werden und beide erhalten die userInfo oder applicationContext gleichzeitig von meiner iOS App gesendet? Oder kann nur ein WCSession-Delegat zugewiesen werden und meine Controller müssen die Daten von dem zugewiesenen Objekt abrufen?

Danke!

+0

Warum probieren Sie es nicht einfach aus? Es ist irgendwie geradlinig, den Code zu schreiben. Sag mir, wenn du Hilfe brauchst. Bitte melde dich auch wieder und lass mich wissen wie es gelaufen ist. – Philip

Antwort

8

WCSession unterstützt jeweils nur einen Delegaten. Wenn Sie möchten, dass mehrere Teile Ihres Codes benachrichtigt werden, wenn neuer eingehender Inhalt vorhanden ist, müssen Sie entweder eine Wrapper-Klasse mit ähnlichen Callbacks für WCSessionDelegate erstellen, die jedoch mehrere Beobachter unterstützt, oder Sie können lokale Benachrichtigungen verwenden, um den Inhalt weiterzuleiten. Vielleicht besser; Lassen Sie WCSessionDelegate den Datenspeicher der App aktualisieren und benachrichtigen Sie dann die Teile Ihrer Codelesung aus dem Datenspeicher, der aktualisiert wurde, damit sie ihre Ansichten aktualisieren?

Verwandte Themen