Segue和Button以编程方式迅速

你好,我即时通讯使用iCarousel和我必须创build我自己的button,我想从button编程的button传递数据到另一个视图,但我没有一个segue标识符,因为我创buildbutton编程,所以我不知道是否可以通过编程方式创buildsegue的标识符。

button.addTarget(self, action: #selector(buttonAction3), for: .touchUpInside) button.setTitle("\(titulos[index])", for: .normal) tempView.addSubview(button) let myImage = UIImage(named: "modo4.png") as UIImage? button.setImage(myImage, for: .normal) let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "modo") as! Modo1ViewController self.present(viewController, animated: false, completion: nil) if segue.identifier == "" { if let destination = segue.destination as? Modo1ViewController { destination.nomb = nombres } } 

创buildseuge

创建Seuge

分配标识符

在这里输入图像描述

和你的button目标

 func buttonAction3() { self.performSegue(withIdentifier: "segueToNext", sender: self) } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "segueToNext" { if let destination = segue.destination as? Modo1ViewController { destination.nomb = nombres // you can pass value to destination view controller } } } 

在你的情况下,如果你使用self.present ,你想在视图之间发送数据。 尝试这个:

 let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "modo") as! Modo1ViewController viewController.nomb = nombres self.present(viewController, animated: false, completion: nil) 

我不知道如何设置segue的标识符,但我认为上面的代码可以帮助

如果你想做更简单的工作,你可以在IB(Interface Builder)中创buildsegue并设置它的标识符,然后使用

 performSegue:withIdentifier:sender