![](/img/trans.png)
[英]How to Pass the array in multiple selected UISwitch tableViewCell rows into next view controller
[英]Pass the array in multiple selected table cell into next view controller
我试图将数组从表视图传递给下一个视图控制器。
到目前为止,这是我的代码。
@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)
}
它有效,但只能通过我选择的最后一行。
通过它的另一种方式
@IBAction func done(_ sender: Any) {
let view = self.storyboard?.instantiateViewController(withIdentifier: "pilihtabel") as! labelpilih
let arrPassing = NSMutableArray()
for index in 0 ... (tabelpilihan.indexPathsForSelectedRows?.count)! - 1{
let selectedrow = tabelpilihan.indexPathsForSelectedRows?[index].row
arrPassing.addObject(pilihan[selectedrow!])
print(pilihan[(tabelpilihan.indexPathsForSelectedRows?[index].row)!])
}
view.pilih = arrPassing
self.navigationController?.pushViewController(view, animated: true)
在view.pilih = pilihan[selectedrow!]
,为值分配view.pilih = pilihan[selectedrow!]
pilihan[selectedrow!
到下一个视图的pilih
变量。
但是pilih
不是数组类型,因此在循环结束时,最后一个值将被覆盖,因此它仅包含最后一个值。
为了解决这个问题,您应该将其设置为数组类型,并附加诸如
view.pilih.append(pilihan[selectedrow!])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.