我正在做Apple Watch App,其中併發症。對`ComplicationController'使用`InterfaceController`邏輯
我已經得到了WatchKit應用部分與該Ev
類工作的偉大 ...
class Ev {
var evTColor:String
var evMatch:String
init(dataDictionary:Dictionary<String,String>) {
evTColor = dataDictionary["TColor"]!
evMatch = dataDictionary["Match"]!
}
class func newEv(dataDictionary:Dictionary<String,String>) -> Ev {
return Ev(dataDictionary: dataDictionary)
}
}
...這InterfaceController
func session(session: WCSession, didReceiveUserInfo userInfo: [String : AnyObject]) {
if let tColorValue = userInfo["TColor"] as? String, let matchValue = userInfo["Match"] as? String {
receivedData.append(["TColor" : tColorValue , "Match" : matchValue])
evs.append(Ev(dataDictionary: ["TColor" : tColorValue , "Match" : matchValue]))
doTable()
} else {
print("tColorValue and matchValue are not same as dictionary value")
}
}
func doTable() {
self.rowTable.setNumberOfRows(self.evs.count, withRowType: "rows")
for (index, evt) in evs.enumerate() {
if let row = rowTable.rowControllerAtIndex(index) as? TableRowController {
row.mLabel.setText(evt.evMatch)
row.cGroup.setBackgroundColor(colorWithHexString(evt.evTColor))
} else {
print("nope")
}
}
}
我有一個硬在我的Complication中獲得同樣的東西,任何想法?
我不確定我是否可以對我的ExtensionDelegate
使用相同的Ev
代碼,然後確定要放入我的ComplicationController
。
如果我用我的ExtensionDelegate
我得到一個致命錯誤相同Ev
代碼:使用未實現初始化的init()的。
在我ComplicationController
我不知道如何去使用最好的我已經從InterfaceController
有數據ComplicationController
填寫getCurrentTimelineEntryForComplication
& getTimelineEntriesForComplication
方法。
將根據需要發佈任何額外的代碼,謝謝!
編輯: 每一個問題,我的數據來自CloudKit的iPhone應用程序(我然後通過WCSession
傳遞到監視應用程序,所以我的問題是訪問在我的收藏應用程序的數據爲我併發症)
你的數據來自哪裏?數據庫?一個遠程API? –
CloudKit將數據提供給iPhone應用程序,然後將該數據傳遞給Watch應用程序。這部分工作很好,我只需要訪問我的手錶應用程序的數據,以填補你知道的併發症? (我會在我的問題中注意到CloudKit的一部分) – SRMR