我是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
}
但它倒下了。我在这里做错了什么?
答案 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
}