Я новый программист и борюсь с передачей данных между контроллерами, я знаю, что этот вопрос задают на этих форумах, но загруженный код намного сложнее по сравнению с моим, и я изо всех сил пытаюсь его понять, поэтому загружу свои несколько строк, которые я написано. Я хочу разрешить двум игрокам вводить свои имена в мое приложение, а затем нажимать «Начать игру». когда нажата кнопка запуска игры, они переходят к новому контроллеру представления, у которого есть такие имена, как это Джо Блоггс против Джона Доу, я могу добиться этого, ЕСЛИ я сделаю свои переменные глобальными, но я понимаю, что это плохая практика, поэтому, когда я пытаюсь и написать тот же код, сохраняя переменные внутри контроллера представления, он каждый раз передает ноль, и я не уверен, что я сделал неправильно? Вот мои несколько строк кода, которые, я надеюсь, кто-то может ответить, что я делаю неправильно?
Вьюконтроллер:
import UIKit
class ViewController: UIViewController {
var playerOneName: String!
var playerTwoName: String!
@IBOutlet weak var playerOneTextField: UITextField!
@IBOutlet weak var playerTwoTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
@IBAction func startGameButton(_ sender: Any) {
playerOneName = playerOneTextField.text!
playerTwoName = playerTwoTextField.text!
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "segue" {
let destinationVC = segue.destination as! GameViewController
destinationVC.playerOne.text = playerOneName
destinationVC.playerTwo.text = playerTwoName
}
}
}
GameViewController:
import UIKit
class GameViewController: UIViewController {
@IBOutlet weak var playerOne: UILabel!
@IBOutlet weak var playerTwo: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}