У меня есть все необходимые данные в моем расширении WatchKit (переданном из приложения iOS).
Я использовал данные WatchKit InterfaceController
для заполнения таблицы, которая отлично работает.
Я пытаюсь найти лучший способ получить те же данные в моем WatchKit ComplicationController
.
В настоящее время в InterfaceController
данные передаются с использованием didReceiveUserInfo
:
func session(session: WCSession, didReceiveUserInfo userInfo: [String : AnyObject]) {
if let beachValue = userInfo["Surf"] as? String {
places.append(Place(dataDictionary: ["Surf" : surfValue]))
} else {
print("Something went wrong")
}
}
Нужно ли мне вызывать этот же метод WCSession
в моем ComplicationController
и снова собирать все данные, или есть какой-нибудь более простой способ получить доступ к этим же данным для использования в _8 _? < / em>
Любая помощь приветствуется. Спасибо!
ИЗМЕНИТЬ:
Моя табличная функция:
func makeTable() {
// Per SO
let myDelegate = WKExtension.sharedExtension().delegate as! ExtensionDelegate
let accessVar = myDelegate.places
self.rowTable.setNumberOfRows(accessVar.count, withRowType: "rows")
for (index, evt) in accessVar.enumerate() {
if let row = rowTable.rowControllerAtIndex(index) as? TableRowController {
row.mLabel.setText(evt.evMat)
} else {
print(“No”)
}
}
}
ExtensionDelegate
как место для установкиWCSession
информации (как вы могли бы сделать вAppDelegate
для стороны iOS) или что-то еще. Но да, я тоже не совсем уверен в этом. Дай мне знать, если найдешь что-нибудь! - person SRMR   schedule 19.10.2015