我试图将数组从表视图传递给下一个视图控制器。

到目前为止,这是我的代码。

 @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!])

10-08 05:27