Swift 在场景之间传递变量?
Posted
技术标签:
【中文标题】Swift 在场景之间传递变量?【英文标题】:Swift pass variables between scenes? 【发布时间】:2014-08-29 23:26:52 【问题描述】:我有两个场景:我的 GameScene 玩家试图击败他的分数和 GameOverScene,当他输了时我呈现给玩家:
func changeScene()
let scene = GameOverScene()
view.presentScene(scene)
基本上,我想将玩家分数传递给我的 GameOverScene,以便将其展示给玩家。分数存储在我的 GameScene 中的属性:“score: Int”中,但我不确定如何在场景之间传递它。我该怎么做?
【问题讨论】:
尽管有代码,但概念在这里:***.com/questions/11577484/… 【参考方案1】:您可以使用以下函数设置新场景的属性:
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!)
if (segue.identifier == "Load View")
// pass data to next view
这是一个详细的例子:
http://jamesleist.com/ios-swift-passing-data-between-viewcontrollers/
【讨论】:
嗨 Fer,我创建了不同的场景,但我的应用程序中只有一个 viewController:“GameViewController”和三个场景“StartScreen”以及问题中提到的两个。从我正在阅读的内容来看,我知道这可以在 viewControllers 之间传递数据,这是否意味着我需要向游戏添加更多 viewControllers? @lisovaccaro 嘿伙计!您是否尝试过使用新场景提供的字典?尝试:myNewScene.userData setObject 就像任何 NSMutableDictionary 一样 我刚刚实现了它。我会用我的代码编辑你的答案。你的回答让我想知道我应该有多少个视图控制器,如果你知道,请检查我刚刚问的这个问题:***.com/questions/25577743/…以上是关于Swift 在场景之间传递变量?的主要内容,如果未能解决你的问题,请参考以下文章
将变量从 UIViewController 传递到 SK 场景