我可以在主 - 详细信息应用的每个部分中使用不同的行数吗?

时间:2015-04-06 13:33:35

标签: ios uitableview swift

我是Swift和iOS编程的新手,我正在制作一些简单的应用程序。我正在尝试构建一个主 - 详细应用程序。

在主视图中,我给了tableview两个部分,并且我已将表视图的内容设置为"静态单元格"。最初我给每个部分3行,并且能够使用mainviewcontroller文件中的以下代码成功运行应用程序:

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 2
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 3
    }

我现在想要在第一部分中有11行,在第二部分中有5行,但我尝试对代码进行的更改会阻止应用程序运行。我试过了:

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 16
}

我尝试过:

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 11
}

但它倒下了。我在这里做错了什么?

1 个答案:

答案 0 :(得分:14)

您应该使用section来确定该部分应该有多少行。例如,您可以在视图控制器中有一个变量:

let numberOfRowsAtSection: [Int] = [11, 5]

现在在numberOfRowsForSection

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    var rows: Int = 0

    if section < numberOfRowsAtSection.count {
        rows = numberOfRowsAtSection[section]
    }

    return rows
}