2016-07-22 57 views
0

我有一本詞典並從我的數據庫中導入信息。我需要把它明確地放在我的表格視圖的正確部分。所有的信息都提供,如果您需要更多的細節或代碼,我會提供。如何使用字典將行添加到tableview中的特定部分?

字典輸出["March 27": ["do the dishes", "take out the trash"], "March 29": ["Walk the dog", "Water the plants"], "March 28": ["Clean the house"]]

var date = ["March 27", "March 28", "March 29"] 

func numberOfSections(in tableView: UITableView) -> Int { 
    return date.count 
} 

func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { 
    return date[section] 
} 

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return 1 
} 

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = table.dequeueReusableCell(withIdentifier: "cell") as! Chores 
    //Having trouble on what to do here 
    return cell 
} 

回答

1

這就是你如何能做到,我覺得這是自我解釋:

var output = ["March 27": ["do the dishes", "take out the trash"], "March 29": ["Walk the dog", "Water the plants"], "March 28": ["Clean the house"]] 
var date = Array(output.keys) 

func numberOfSections(in tableView: UITableView) -> Int { 
    return date.count 
} 

func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { 
    return date[section] 
} 

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return output[date[section]]?.count ?? 0 
} 

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = table.dequeueReusableCell(withIdentifier: "cell") as! Chores 
    var value = output[date[indexPath.section]]?[indexPath.row] ?? "" 
    cell.textLabel.text = value 
    return cell 
} 
中的行數你有

//編輯:

output[date[section]]?.count 

就是這樣,這主要是給你選擇權,但在這個例子中我會忽略它:

let keyForSection = date[section] 
let arrayOfStringsForKey = output[keyForSection] 
let numberOfRows = arrayOfStringsForKey.count 

你做類似的東西,以獲得實際價值,但不是計數您傳遞的行的索引要從

let value = arrayOfStringsForKey[rowNumber] 
+0

值我怎麼會拿起計數數組的下數關鍵?即「3月27日」:[「....」],[「???」],「3月29日」:....' – manatee

+0

還有日期是否經過每個鍵?因爲對我來說,它只會提取第一個「3月27日」 – manatee

+0

輸出[YOUR_KEY]?count - 這是你問什麼? – Greg

相關問題