2016-11-09 54 views
-1

我想在我的TableView中添加部分,如何使用swift3

我必須讓我的TableView內部分:存儲在「節」

var sections = SectionData().getSectionsFromData() // Declaration: [(key: String, value: [String])] 

我所有的數據。在存儲所有的ABC鑰匙,和值所有以26個字母的一個啓動的項目相應

我無法弄清楚如何訪問值

我的代碼:

var sections = SectionData().getSectionsFromData() 

override func numberOfSections(in tableView: UITableView) -> Int { 
    // #warning Incomplete implementation, return the number of sections 
    return sections.count 
} 

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    // #warning Incomplete implementation, return the number of rows 
    return sections.[section].count // error 
} 

回答

0

我假設你的數據源是元組的一個這樣的數組:

let sections: [(key: String, value: [String])] = [("A", ["Andrew", "Anna"]), ("B", ["Barbie", "Brad"])] 

然後你numberOfRowsInSection方法應該是這樣的:

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return sections[section].value.count 
} 
0

部分是[字符串:[字符串]]的字典,並且您試圖使用整數部分將其索引。相反,您必須通過該部分對已排序的鍵進行索引,然後使用正確的鍵來索引部分詞典。

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    let keys = sections.keys.sorted() 
    let key = keys[section] 
    guard let rows = sections[key] else { 
     return 0 
    } 
    return rows.count 
}