繁体   English   中英

将多个选定表单元格中的数组传递到下一个视图控制器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM