Swift IndexPath连续计数多个部分?

时间:2017-03-25 14:27:49

标签: swift uitableview dynamic prototype

我在UITableView中有多个部分。我正在使用单元格的IndexPath来设置一些值。我要问的是,如果在新部分的开头,IndexPaths的计数重新开始为零。任何帮助是极大的赞赏。谢谢!

1 个答案:

答案 0 :(得分:1)

确实如此。如果您实现下面的基本示例,您将看到行索引如何从每个部分中的0重新开始

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
    @IBOutlet var myTableView: UITableView!

    let myDataSource = ["Andrew", "Anthony", "Bill", "Brad", "Charlie", "Craig"]

    override func viewDidLoad() {
        super.viewDidLoad()

        myTableView.delegate = self
        myTableView.dataSource = self
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "myCell", for: indexPath) as! MyTableViewCell

        cell.myCellLabel.text = myDataSource[indexPath.row + indexPath.section*2] + "  [Row = \(indexPath.row), Section = \(indexPath.section)]"
        return cell
    }

    func numberOfSections(in tableView: UITableView) -> Int {
        return 3
    }

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

    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {

        var title = ""
        switch section {
        case 0:
            title = "A"
        case 1:
            title = "B"
        case 2:
            title = "C"
        default:
            break
        }

        return title
    }

}