Ios Swift,将数据从动态单元格行选择传递到popover视图控制器
我的问题是,是否可以将选定的tableview单元格中的数据传递给其他视图控制器 第一个控制器中的表视图使用原型单元 第二个视图控制器有3个其他标签,如下所示 我尝试了这里描述的内容:但它不起作用,并给了我错误“UIStoryBoardPoperPresentationsEGUETemplate占位符”,我从阅读中了解到这是因为我使用的是原型单元格及其动态 我想要的是,每当用户选择一行时,第二个视图控制器就会充满这个关系 字符串1→ 字符串4 字符串2→ 字符串5 字符串3→ 字符串6 到目前为止,我已经尝试了以下几种方法:Ios Swift,将数据从动态单元格行选择传递到popover视图控制器,ios,swift,uitableview,uiviewcontroller,popover,Ios,Swift,Uitableview,Uiviewcontroller,Popover,我的问题是,是否可以将选定的tableview单元格中的数据传递给其他视图控制器 第一个控制器中的表视图使用原型单元 第二个视图控制器有3个其他标签,如下所示 我尝试了这里描述的内容:但它不起作用,并给了我错误“UIStoryBoardPoperPresentationsEGUETemplate占位符”,我从阅读中了解到这是因为我使用的是原型单元格及其动态 我想要的是,每当用户选择一行时,第二个视图控制器就会充满这个关系 字符串1→ 字符串4 字符串2→ 字符串5 字符串3→ 字符串6 到目
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
let vc = storyboard?.instantiateViewController(identifier: "secondVC") as! CalculadoraViewController
present(vc, animated: true)
let string4 = string4array[indexPath[1]]
performSegue(withIdentifier: "secVC", sender: string4)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let vc = segue.destination as? CalculadoraViewController {
vc.string4.text = (sender as! String)
}
}
popover视图控制器代码:
class CalculadoraViewController: UIViewController {
@IBOutlet weak var string4: UILabel!
@IBOutlet weak var string5: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
}
如果显示
视图控制器
,则无需执行segue:
func tableView(tableView:UITableView,didSelectRowAt indexPath:indexPath){
让vc=storyboard?.InstanceEviewController(标识符:“secondVC”)作为!CalculadorViewController
vc.string4.text=string4array[indexPath.row]
当前(vc,动画:真)
}
以下是传递数据的方法
class CalculadoraViewController: UIViewController {
@IBOutlet weak var montoUSD: UITextField!
@IBOutlet weak var montoCRC: UITextField!
@IBOutlet weak var prVenta: UILabel!
@IBOutlet weak var prCompra: UILabel!
var prVentaText:String!
var prCompraText:String!
override func viewDidLoad() {
prVenta.text = prVentaText
prCompra.text = prCompraText
montoUSD.placeholder = montoCRC.text
super.viewDidLoad()
}
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
let vc = storyboard?.instantiateViewController(identifier: "calculadora") as! CalculadoraViewController
vc.prCompraText = String(precioCompra[indexPath.row])
vc.prVentaText = String(precioVenta[indexPath.row])
present(vc, animated: true)
}
好的,我知道要显示第二个视图控制器,我不需要segue,但问题是如何将数据从选定的表视图单元格传递到第二个视图控制器,答案中已经给出了
vc.string4.text=“需要传递的任何数据”
hi,我试过了,问题是“if”给我这个错误:“条件绑定的初始值设定项必须具有可选类型,而不是“Float”。谢谢,我得到了这个“致命错误:在隐式展开可选值时意外地发现了nil”,您可以共享要测试的演示项目吗?您在哪里面临这个问题?哪个控制器?也向你发送了拉取请求。。。希望对你有帮助。。。快乐编码=)