Вы можете создать класс State
, в котором вы можете установить тип кнопки, представленный перечислением.Затем получите доступ к значению в новой раскадровке.
struct State {
static var btnType: ButtonType?
}
enum ButtonType {
case buttonA
case buttonB
// ..
}
В контроллере основного вида, где есть кнопки, установите состояние при нажатии кнопки.
class ViewController: UIViewController {
func buttonADidTap(_ sender: Any) {
State.btnType = .buttonA
// display the other view controller, say MyVCA
}
func buttonBDidTap(_ sender: Any) {
State.btnType = .buttonB
// ..
}
}
В контроллере дочернего вида откройте данные о состоянии в viewDidLoad
.
class MyVCA: UIViewController {
override func viewDidLoad() {
if let btnType = StateData.btnType {
switch btnType:
case .buttonA:
// ...
}
}
}