如何返回循环的每个元素。我的意思是我希望将此循环的每个名称显示为行文本。它只返回最后一个元素。我该如何归还所有这些?
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellFullname = tableview.dequeueReusableCell(withIdentifier: "cell", for: indexPath as IndexPath)
for last in lastnames {
cellFullname.textLabel?.text = "\(last)"
}
return cellFullname
}
答案 0 :(得分:2)
只需更改您分配textLabel.text
的部分:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellFullname = tableview.dequeueReusableCell(withIdentifier: "cell", for: indexPath as IndexPath)
cellFullname.textLabel?.text = lastnames[indexPath.row]
return cellFullname
}
答案 1 :(得分:2)
您不需要循环来显示UITableView
假设你有一个姓氏数组:
var lastnames = ["....
并且您希望将每个元素放在UITableViewCell中。两个步骤:
定义您需要的细胞数量:
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return lastnames.count
}
使用以下名称更新UITableView
:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellFullname = tableview.dequeueReusableCell(withIdentifier: "cell", for: indexPath as IndexPath)
cellFullname.textLabel?.text = lastnames[indexPath.row]
return cellFullname
}
答案 2 :(得分:0)
您最好创建一个元素数组arr []。 使用此:
private childrenCounter: number[] = [];
private onDuplicate(): void {
this.childrenCounter.push(0); // just add any element
}
答案 3 :(得分:0)
更新:
只需使用indexPath.row.
let cellFullname = tableview.dequeueReusableCell(withIdentifier: "cell", for: indexPath as IndexPath)
cellFullname.textLabel?.text = lastnames[indexPath.row]
return cellFullname
}
如果你要在cellForRowAt
中添加for循环,那么对于每个创建该循环的单元格,这也不好。