我試圖將我的數據加載到WatchKit
表中。基本上,將每個表組單元格中的match
標籤的文本設置爲match
的數組。設置WatchKit表
我得到的數據,和一切設置,但實際上加載它到表中是我卡住的地方。
InterfaceController
.swift:
var receivedData = Array<Dictionary<String, String>>()
var eventsListSO = Array<Event>()
@IBOutlet var rowTable: WKInterfaceTable!
func doTable() {
eventsListSO = Event.eventsListFromValues(receivedData)
rowTable.setNumberOfRows(eventsListSO.count, withRowType: "rows")
for var i = 0; i < self.rowTable.numberOfRows; i++ {
let row = rowTable.rowControllerAtIndex(i) as? TableRowController
for eventm in eventsListSO {
row!.mLabel.setText(eventm.eventMatch)
NSLog("SetupTableM: %@", eventm.eventMatch)
}
}
}
我試圖做到這一點在doTable
因爲好像要做到這一點最好的地方,我覺得doTable
是樹立正確的,但我不知道?不知道是否需要將數組設置爲可選類型或什麼。
這裏是如果需要引用代碼:
class Event {
var eventTColor:String
var eventMatch:String
init(dataDictionary:Dictionary<String,String>) {
eventTColor = dataDictionary["TColor"]!
eventMatch = dataDictionary["Match"]!
}
class func newEvent(dataDictionary:Dictionary<String,String>) -> Event {
return Event(dataDictionary: dataDictionary)
}
class func eventsListFromValues(values: Array<Dictionary<String, String>>) -> Array<Event> {
var array = Array<Event>()
for eventValues in values {
let event = Event(dataDictionary: eventValues)
array.append(event)
}
return array
}
}
所以我不知道:
RowController
.swift:.swift
class TableRowController {
@IBOutlet var mLabel: WKInterfaceLabel!
@IBOutlet var cGroup: WKInterfaceGroup!
}
Event
如果:
- doTable
是樹立正確的(不能是因爲eventsListSO.count
爲null)
感謝您的迴應!是的,這是有道理的,當我試圖完成這些代碼時,我會在我嘗試的事情上遇到錯誤。我在上面的問題中編輯了一個編輯,向您展示我正在嘗試的內容以及我遇到的錯誤。有任何想法嗎? – SRMR
嘗試使用'if let row = self.rowTable.rowAtIndex(i)as? RowController {//設置在這裏}' – tanner0101
根據您的建議更新我的代碼。任何想法,如果我的設置看起來是正確的,哪裏最好的地方來調用設置是?謝謝! – SRMR