Wie teile ich Daten mit Watch Connectivity, wenn ich mit Core Data arbeite?

n meiner iOS-Anwendung verwende ich Core Data zum Speichern von Daten und eine Abrufanforderung zum Erstellen eines Arrays vonNSManagedObjects zum Anzeigen in einemUITableView.

uf dem Watch OS überprüfe ich obWCSession wird unterstützt und aktiviert eine Sitzung. Senden Sie der iOS-Anwendung eine Nachricht von der watchOS-Erweiterung.

Wenn die iOS-Anwendung die Nachricht vom watchOS empfängt, sollte sie das Array von @ sendeObjects zur watchOS-Erweiterung, um die Daten im @ anzuzeigWKInterfaceTable, aber ich bin nicht sicher, wie ich das machen soll. Letztendlich versuche ich folgendes zu erreichen:

Wie teile ich das Array vonObjects mit der watchOS-Erweiterung?

Wie können wir die Daten auf dem iPhone aktualisieren, wenn der Benutzer Objekte im Array auf der Uhr hinzufügt / bearbeitet / löscht?

Auch die iOS-Anwendung ist in ein @ eingebettUITabBarController Ist es auch wichtig, mit welchem View-Controller ich kommuniziere?

Watch OS FavouritesInterfaceController

var session : WCSession!

override func willActivate() {
    // This method is called when watch view controller is about to be visible to user
    super.willActivate()

    //Check if session is supported and Activate
    if (WCSession.isSupported()) {
        session = WCSession.defaultSession()
        session.delegate = self
        session.activateSession()
    }
}

override func awakeWithContext(context: AnyObject?) {
    super.awakeWithContext(context)
    // Interface Objects

    //Send Message
    sendmessagetoiphone()   
}

func sendMessageToIphone() {
    if(WCSession.isSupported()){
        session.sendMessage(["b":"goodBye"], replyHandler: nil, errorHandler: nil)
    }
}

IOS-Anwendung: FavouritesViewController

var objects = [Objects]()

func loadData() { 

    let moc = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
    let request = NSFetchRequest(entityName: "Objects")
    request.sortDescriptors = [NSSortDescriptor(key: "date", ascending: true)]
    do {
        try
            self.objects = moc.executeFetchRequest(request) as! [Objects]
        // success ...
    } catch {
        // failure
        print("Fetch failed")
    }
 }

   func session(session: WCSession, didReceiveMessage message: [String : AnyObject], replyHandler: ([String : AnyObject]) -> Void) {
    //handle received message   
    let value = message["Value"] as? String
    dispatch_async(dispatch_get_main_queue()) {
        self.messageLabel.text = value
    }
    //send a reply
    replyHandler(["Value":"Hello Watch"])
   }