【发布时间】:2019-08-03 03:27:42
【问题描述】:
在UITableViewController 中选择一个字符串,在另一个视图控制器中显示同名的图片,它应该可以正常工作。
但问题是当我想选择多个字符串来显示多个不同的图片时。 我一直在尝试添加另一个 IBOutlet,将内容加倍,但它只是向我展示了两次相同的图片。
有什么想法吗?
多选 = 真
第一个 VC segue:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "tablesegue" {
if let indexPath = self.tableView.indexPathForSelectedRow {
let selectedRow = indexPath.row
let passingVal = segue.destination as! Tabulka_data
passingVal.selectedImageName = self.tableItems[selectedRow]
}
}
}
第二个VC:
@IBOutlet weak var pic: UIImageView!
var selectedImageName:String = ""
override func viewWillAppear(_ animated: Bool) {
self.pic.image = UIImage(named: selectedImageName)
}
【问题讨论】:
-
您可能想使用
indexPathsForSelectedRows来获取一个IndexPath 数组,而不仅仅是一个。然后通过使用数组(在目标和休息中)而不是单一的,你可能会得到你想要的。 -
似乎是正确的做法,但不知道如何编写代码。请问有什么提示吗?
标签: ios swift cocoa-touch uiviewcontroller