My table keeps ending up empty because didRecieveUserInfo isn't called until after doTable() gets called.
I'm getting all the correct data in didRecieveUserInfo, but my app doesn't know that because didRecieveUserInfo isn't getting called until after the table is already set up.
Any ideas? I feel like it must be something simple, here is my code:
ExtensionDelegate:
func applicationDidFinishLaunching() {
if (WCSession.isSupported()) {
let session = WCSession.defaultSession()
session.delegate = self
session.activateSession()
}
}
func session(session: WCSession, didReceiveUserInfo userInfo: [String : AnyObject]) {
if let tCValue = userInfo["Tr"] as? String, let mValue = userInfo["Mp"] as? String {
receivedData.append(["Tr" : tCValue , "Mp" : mValue])
evn.append(Evnt(dataDictionary: ["Tr" : tCValue , "Mp" : mValue]))
} else {
// None
}
}
InterfaceController:
override func willActivate() {
// This method is called when watch view controller is about to be visible to user
super.willActivate()
doTable()
}
func doTable() {
if WCSession.defaultSession().reachable == true {
// SO
let myDelegate = WKExtension.sharedExtension().delegate as! ExtensionDelegate
let evM = myDelegate.evn
self.rowTable.setNumberOfRows(evM.count, withRowType: "rows")
for (index, evt) in evM.enumerate() {
if let row = rowTable.rowControllerAtIndex(index) as? TableRowController {
row.mLabel.setText(evt.maT)
} else {
// None
}
}
}
else {
// None
}
}