如何在swift 4中的uitableView中添加多个部分

时间:2018-03-13 04:13:36

标签: ios swift uitableview

我想在tableView中创建3个部分但是当我运行这个代码时,我只得到一个部分和它的itemsInSections。任何人都可以帮我展示我的tableview中的所有部分和项目吗?

var itemsInSections: Array<Array<String>> = [["1A", "1B", "1C"], ["2A", "2B"], ["3A", "3B", "3C", "3D", "3E"]]
var sections: Array<String> = ["Section 1", "Section 2", "Section 3"]

override func viewDidLoad() {
    super.viewDidLoad()

    self.tableview.dataSource = self
    self.tableview.delegate = self
}

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return self.sections.count
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.itemsInSections[section].count
}

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

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! UITableViewCell
    let text = self.itemsInSections[indexPath.section][indexPath.row]

    cell.textLabel!.text = text

    return cell
}

1 个答案:

答案 0 :(得分:0)

您需要使用正确的方法签名。

此:

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return self.sections.count
}

需要:

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