是否可以将数据从SKScene传递到Swift中的ViewController

时间:2017-09-27 00:19:24

标签: ios swift uiviewcontroller skscene arkit

我正在研究一个SpriteKit ARKit项目,我试图将数据从SKScene传递到新的实例化ViewController。

我的目标是,一旦用户点击带有标识符的节点,新的viewController将实例化并使用performSeque导航到VC。

目前我能够执行会话并导航到新的实例化VC。但是,即使我设置了vc.data = result(已经过值验证的变量)并将其打印出来进行检查。但是,当新视图启动时,没有设置vc.data,也没有数据从SKScene传递到ViewController。

我附上了我的代码段以供参考。

我是SKScene的新手,并且很快,需要你的指导。非常感激。

   override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {


    guard let touch = touches.first else {
        return
    }

    let location = touch.location(in: self)

    let hit = nodes(at: location)


    if let node = hit.first { if node.name == "targetLabel" {

            guard let vc = UIStoryboard(name:"Main", bundle:nil).instantiateViewController(withIdentifier: "TargetViewController") as? TargetViewController else {
                print("Could not instantiate view controller with identifier of type TargetViewController")
                return
            }

            vc.data = result

            //Even print to check
            print("Got result in vc.data?: \(vc.data)")


           self.viewController?.performSegue(withIdentifier: "goToTargetViewController", sender: vc)

        }

...

0 个答案:

没有答案