У меня есть словарь, который мне нужно преобразовать в массив, но не может завершить реализацию.Получить массив из словаря значений
Словарь значений в InterfaceController
...
var receivedData = Array<Dictionary<String, String>>()
func session(session: WCSession, didReceiveUserInfo userInfo: [String : AnyObject]) {
if let tColorValue = userInfo["TeamColor"] as? String, let matchValue = userInfo["Matchup"] as? String {
receivedData.append(["TeamColor" : tColorValue , "Matchup" : matchValue])
let eventsList = Event.eventsListFromValues(receivedData)
for eventM in eventsList {
NSLog("Event Match: %@", eventM.eventMatch)
}
} else {
print("tColorValue and matchValue are not same as dictionary value")
}
}
Процесс Словарь значений в Event
классе:
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
}
}
Cant выяснить эту часть ... Используйте массив для настройки таблицы в setupTable
:
func doTable() {
// ...get array of `match`s for use in table set up
// ...Then set number of Rows
// ...Then iterate thru the array
for var i = 0; i < self.rowTable.numberOfRows; i++ {
var row = self.rowTable.rowControllerAtIndex(i)
// ...setup text label
}
}
EDIT: Для осветления
doTable
получит любой из match
с, которые были получены и отображать их в виде таблицы. Итак, думаю, что я должен делать, это получить массив match
s, а затем использовать их, чтобы установить текстовую метку в таблице.
EDIT 2: Это то, что я до сих пор
class InterfaceController: WKInterfaceController, WCSessionDelegate {
class EventSO {
var teamColor:String!
var matchup:String!
init(dataDictionary:[String:String]) {
teamColor = dataDictionary["teamColor"]
matchup = dataDictionary["Matchup"]
}
}
var receivedDataSO = [Event]()
var tColorValueSO = "Red"
var matchValueSO = "someString"
var eventSO = EventSO(dataDictionary: ["teamColor": tColorValueSO, "Matchup": matchValueSO])
Раскадровка:
Что вы хотите, 'метод doTable' делать? – Adam
Я не уверен на 100%, что вы пытаетесь сделать здесь, receivedData - это набор словарей уже? Не могли бы вы прояснить? Не могли бы вы рассказать нам о том, что вы хотите делать в doTable, а также о том, что такое Event? – Scriptable
@Adam Hi Adam, я добавил EDIT выше, чтобы попытаться уточнить, но в основном 'doTable' настроит мою таблицу WatchKit. Поэтому внутри 'doTable' мне нужно получить массив' match ', чтобы я смог выполнить итерацию, чтобы построить таблицу и установить текст меток. Надеюсь, это имеет смысл! Дайте мне знать, если нет - – SRMR