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

Woo*_*ody 3 uitableview ios 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
    }
Run Code Online (Sandbox Code Playgroud)

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

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 16
}
Run Code Online (Sandbox Code Playgroud)

我试过了:

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 11
}
Run Code Online (Sandbox Code Playgroud)

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

ABa*_*ith 14

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

let numberOfRowsAtSection: [Int] = [11, 5]
Run Code Online (Sandbox Code Playgroud)

现在numberOfRowsForSection:

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

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

    return rows
}
Run Code Online (Sandbox Code Playgroud)

  • 答案是这个[问题](http://stackoverflow.com/questions/29578965/how-do-i-populate-two-sections-in-a-tableview-with-two-different-arrays-using-sw/29579027#29579027)帮忙?:) (2认同)