iOS:Swift - 无法弄清楚如何在tableView方法中使用indexPath

时间:2016-02-07 10:32:08

标签: ios iphone swift uitableview

我对iOS开发很新,我希望你能帮助我。

我有一个dict,键表示各个部分,每个键的数组表示行。 我试图以某种方式编辑单元格,其中每个单元格对应于数组的一个元素。

var contacts = [String: [Contact]]()

这是我的dict,Contact是一个自定义类,其属性如firstName和lastName。

override func tableView(tableView: UITableView, cellForRowAtIndexPath     indexPath: NSIndexPath) -> UITableViewCell
{
    let keyArray = Array(contacts.keys)
    let cell = tableView.dequeueReusableCellWithIdentifier("ContactCell", forIndexPath: indexPath)
    cell.textLabel?.text = 
    return cell
}

我想让联系人的姓氏显示为cell.textLabel的文本。

非常感谢您抽出宝贵时间帮助我。我很欣赏这一点。

Raph

1 个答案:

答案 0 :(得分:1)

section包含整数。您必须在字典键和节号之间创建关系,例如

let sectionArrayKeys = ["contactsA", "contactsB"] 

现在获取

部分的数组
let sectionKey = sectionArrayKeys[indexPath.section]
let contactSection = contacts[sectionKey]

和行的适当联系

let contact = contactSection[indexPath.row]

更合适的解决方案 - 如评论中所述 - 是一个嵌套数组

var contacts = [[Contact]]()
...
let contactSection = contacts[indexPath.section]
let contact = contactSection[indexPath.row]