因此,目前我正在为大学进行Swift项目。它有一个TableView应该有10个单元格,因为我的数据数组有10个索引。我能够设置该应用程序,除了10个条目之后,从第一个条目到最后一个条目... This is what the problem looks like.重复整个数据集,一切正常。 (TableData是保存单元格数据的数组)
override func numberOfSections(in tableView: UITableView) -> Int {
return tableData.count
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return tableData.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "locationCell", for: indexPath)
let mapLocation = tableData[indexPath.row]
cell.textLabel?.text = mapLocation.name
return cell
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
selectedLocation = tableData[indexPath.row]
performSegue(withIdentifier: "fromTableToMap", sender: selectedLocation)
}
答案 0 :(得分:0)
你有
override func numberOfSections(in tableView: UITableView) -> Int {
return tableData.count
}
替换为
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
否则,您将重复10行10次(以创建10个部分),从而产生100行。
答案 1 :(得分:0)
使用它。
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
答案 2 :(得分:0)
您缺少UITableView
的基本概念。 TableView由一个或多个部分组成,每个部分由一个或多个单元格组成。
override func numberOfSections(in tableView: UITableView) -> Int {
return tableData.count
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return tableData.count
}
这意味着您将使用10个部分,每个部分有10行。因此它将返回10 * 10 = 100个单元格(您可以手动计数)
应该是
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return tableData.count
}
现在您使用1作为部分,每个部分有10行。因此它返回1 * 10 = 10个单元格(您可以手动计数)
答案 3 :(得分:0)
只需从代码中删除numberOfSections方法,默认情况下它将只占用tableView的一部分。