我在我的SKScene中有一个方法:
func someTypeMethod() {
print("someTypeMethod...")
}
我试图从我的'ViewController'中调用它:
if let scene = SKScene(fileNamed: "Scene") {
scene.someTypeMethod()
}
但Xcode说'Value of type SKScene has no member 'scene.someTypeMethod'
我甚至试图让方法“公开”和“上课”。但仍然出现错误。那么,如何从'ViewController'中调用我的'SKScene'中的这些方法?
请帮忙...
someTypeMethod()
是在SKScene或子类的扩展上声明的吗?
如果它在子类上,则需要更改为
if let scene = SKScene(fileNamed: "Scene") as? MySKSceneSubclass {
scene.someTypeMethod()
}
编译器只知道该场景具有本机SKScene方法,如果你没有告诉它预期哪个正确的子类。使它成为一个类方法意味着你调用SKScene.someTypeMethod()
而不是scene.someTypeMethod()
,但它将无法访问你的场景数据。