如何使用委托协议swift 4将数据从tableViewCell传递到另一个视图控制器并在标签中打印数据
答案 0 :(得分:0)
只需简单地将一个变量值传递给另一个Viewcontroller
,然后在推送时就传递值。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath){
let vc = self.storyboard.instantiateViewController(withIdentifier: "AnotherVC") as! AnotherVC
vc.variable = your value
self.navigationController?.pushViewController(vc, animated: true)
}
为什么需要使用协议?
答案 1 :(得分:0)
func tableView(_ tableView:UITableView,didSelectRowAt indexPath:IndexPath){
///当您将视图控制器值传递给另一个VC
let vc = self.storyboard.instantiateViewController(withIdentifier: "AnotherVC") as! AnotherVC
vc.variableValue = your value
self.navigationController?.pushViewController(vc, animated: true)
///您需要将单元格值传递给另一个VC
let vc = self.storyboard.instantiateViewController(withIdentifier: "AnotherVC") as! AnotherVC
let variable = tableView.cellForRow(at: indexPath)as! YourCell
vc.varibleValue = cell.value
}
请勿使用协议,因为在这种情况下,您需要使用子协议将值从子级转换为父级。如果您将数据从A传递到B,只需传递值就足够了