我试图将数组从表视图传递给下一个视图控制器。
到目前为止,这是我的代码。
@IBAction func done(_ sender: Any) {
let view = self.storyboard?.instantiateViewController(withIdentifier: "pilihtabel") as! labelpilih
for index in 0 ... (tabelpilihan.indexPathsForSelectedRows?.count)! - 1{
let selectedrow = tabelpilihan.indexPathsForSelectedRows?[index].row
print(pilihan[(tabelpilihan.indexPathsForSelectedRows?[index].row)!])
view.pilih = pilihan[selectedrow!]
}
self.navigationController?.pushViewController(view, animated: true)
}
它有效,但只能通过我选择的最后一行。
最佳答案
在view.pilih = pilihan[selectedrow!]
行中,您将值pilihan[selectedrow!
分配给下一个视图的pilih
变量。
但是pilih
不是数组类型,因此在循环结束时,最后一个值将被覆盖,因此它仅包含最后一个值。
为了解决这个问题,您应该将其设置为数组类型,并附加诸如view.pilih.append(pilihan[selectedrow!])