2015-10-03 28 views
0

我試圖將我的數據加載到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)

回答

3

您在WatchKit表的工作方式比UIKit的一個很大的不同。

在您致電setNumberOfRows後,您需要迭代每一行並獲取RowController

for var i = 0; i < self.rowTable.numberOfRows; i++ { 
    var row = self.rowTable.rowControllerAtIndex(i) 
    //setup row here 
} 
+0

感謝您的迴應!是的,這是有道理的,當我試圖完成這些代碼時,我會在我嘗試的事情上遇到錯誤。我在上面的問題中編輯了一個編輯,向您展示我正在嘗試的內容以及我遇到的錯誤。有任何想法嗎? – SRMR

+0

嘗試使用'if let row = self.rowTable.rowAtIndex(i)as? RowController {//設置在這裏}' – tanner0101

+0

根據您的建議更新我的代碼。任何想法,如果我的設置看起來是正確的,哪裏最好的地方來調用設置是?謝謝! – SRMR