我在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'中的这些方法?
请帮忙......
答案 0 :(得分:1)
是否在SKScene的扩展名或子类上声明了someTypeMethod()
?
如果它在子类上,则需要更改为
if let scene = SKScene(fileNamed: "Scene") as? MySKSceneSubclass {
scene.someTypeMethod()
}
如果您没有告诉它预期哪个正确的子类,编译器只知道该场景具有本机SKScene方法。将其设为类方法意味着您调用SKScene.someTypeMethod()
而不是scene.someTypeMethod()
,但它无法访问您的场景数据。