Если я все правильно понял, вам нужна передача данных между контроллерами с помощью segue.
Создаем в классе второго контроллера переменную, в которую будет передавать нужное значение.
Далее создаем кнопку на первом контроллере и перетаскиваем сегвей
от кнопки до второго контроллера. и указываем его идентификатор.
Ниже код для второго контроллера. Просто Лейбл, и в свойство "text" этого лейбла присваиваем значение переменной "name".
class SecondViewController: UIViewController {
var name = ""
@IBOutlet var username: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
username.text = name
}
}
Вот тут код первого контроллера с помощью метода prepare(for segue: ) мы получаем доступ к тому контроллеру, на который и переходим через этот сегвей. Получить доступ можно через destination. Далее передаем имя в нашу переменную, которую мы создали в классе второго контроллера, например Андрей. И этот метот сработает перед переходом на второй контроллер, и передаст "Вася" в нашу переменную "name", при запуске второго контроллера лейбл возьмет значение из этой переменной и заполнит свое свойство "text"
class FirstViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard segue.identifier == "YourIdentificator" else { return }
guard let destination = segue.destination as? SecondViewController else { return }
destination.name = "Вася"
}
}