Один простой способ - сохранить две переменные во втором и третьем контроллере представления.
class FirstViewController : UIViewController {
@IBAction func buttonAction(_ sender: UIButton) {
let vc2 = ...// instantiate second view controller
vc2.textVal = sender.titleLabel!.text
//present vc2
}
}
Затем во втором контроллере представления получить текст кнопки и установить его в тексте
class SecondViewController : UIViewController {
var textVal: String?
@IBAction func buttonAction(_ sender: UIButton) {
let vc3 = ...// instantiate thrid view controller
let buttonText = sender.titleLabel!.text
vc3.textVal = "\(textVal) -> \(buttonText)"
//present vc3
}
}
Теперь в контроллере третьего представления установите текст метки
class ThridViewController : UIViewController {
var textVal: String?
@IBOutlet weak var lblText: UILabel!
override func viewDidLoad() {
lblText.text = textVal
}
}
Надеюсь, это вам поможет.