现在,我有两个按钮将textfield数据从vc1转换到vc2。我想拥有顶部按钮segue,无论是在textfield到vc2。我希望底部的按钮只是下一个风险投资。现在,这两个按钮将数据从textfield分离到下一个vc。

import UIKit
class ViewController: UIViewController {
@IBOutlet var textfield: UITextField!
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard let c2 = segue.destination as? twoViewController else {return}
c2.ss = textfield.text
}}
class twoViewController: UIViewController {
var ss: String!
@IBOutlet var datalbl: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
datalbl.text = ss
}}发布于 2018-04-17 02:22:57
有两种方法可以处理这一问题:
使用发件人并设置按钮的标记值
sender in prepare(for:sender:)是按下的按钮,因此您可以为您的2个按钮设置唯一的标记值,然后检查:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard let c2 = segue.destination as? twoViewController else {return}
if (sender as? UIButton)?.tag == 1 {
c2.ss = textfield.text
}
}prepare(for:sender:)设置标识符,并在中检查
因为您有两个标记,所以单击Storyboard中的segue箭头并在Attributes检查器中设置它们的标识符。您可以将顶部按钮的segue标识符设置为"sendTextField",然后在prepare(for:sender:)中进行检查。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard let c2 = segue.destination as? twoViewController else {return}
if segue.identifier == "sendTextfield" {
c2.ss = textfield.text
}
}https://stackoverflow.com/questions/49868634
复制相似问题