一旦我的SpriteKit游戏结束,我想回到我的UIKit MenuViewController.从我到目前为止所学到的,使用protocol/delegate是最好的(?)选项,但我无法让它工作.我知道协议可能会超出类声明GameViewController,看起来像:
protocol GameViewControllerDelegate {
var gameOver: Bool?
}
Run Code Online (Sandbox Code Playgroud)
但我需要帮助从GameSceneAND获取它解雇GameViewController.以下是应用程序的骨骼,如果有帮助的话.
MenuViewController
class MenuViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func goToGame(_ sender: UIButton) {
performSegue(withIdentifier: "toGameSegue", sender: sender.currentTitle)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let destinationVC = segue.destination as? GameViewController {
if let item = sender as? String {
destinationVC.numberOfPlayers = item
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
GameViewController
class GameViewController: UIViewController {
var numberOfPlayers: …Run Code Online (Sandbox Code Playgroud)