SceneKit Swift 3 继承不起作用

SceneKit Swift 3 Inheritance does not work

我写了一个class:

import UIKit
import SceneKit

class Scene: SCNScene {

var _sceneView: SCNView!
var cameraNode: SCNNode!

func setupView(view: SCNView) {

    _sceneView = view

   }
}

但是当我在 GameViewController 中调用 class 的函数时:

import UIKit
import QuartzCore
import SceneKit
import SpriteKit

class GameViewController: UIViewController, SCNSceneRendererDelegate {

var scene: Scene?                       = nil

override func viewDidLoad() {

super.viewDidLoad()

    //Super
    super.viewDidLoad()

    scene = Scene()

    let sceneView = self.view as! SCNView

    ...

    sceneView.scene = scene?.setupView(view: sceneView)
  }
}

显示错误:

无法分配“()”类型的值?输入 'SCNScene?'

当我尝试调用函数时,它划掉了函数:

请解释并帮助解决该问题。

提前致谢。

忽略其他潜在问题(不要强制解包(!),除非绝对需要,下划线变量名是 objective-c ivars 的约定,有时用于命名私有存储swift 类),您可能想要的是:

//: Playground - noun: a place where people can play

import UIKit
import SceneKit
import QuartzCore
import SpriteKit

class Scene: SCNScene {

    var _sceneView: SCNView!
    var cameraNode: SCNNode!

    func setupView(view: SCNView) {

        _sceneView = view

    }
}

class GameViewController: UIViewController, SCNSceneRendererDelegate {

    var scene: Scene? = nil

    override func viewDidLoad() {
        super.viewDidLoad()

        let scene = Scene()

        let sceneView = self.view as! SCNView
        scene.setupView(view: sceneView)
        sceneView.scene = scene

        self.scene = scene
    }
}