use*_*063 5 class function ios sprite-kit swift
所以,我有一个关于 Swift 中的类和函数的相当简单的问题。
假设我用 SpriteKit 制作了一个应用程序。我有一个 GameScene (SKScene)、一个 GameViewController (UIViewController) 和一个用于 GameViewController 的主故事板。
如果我想在我的 GameScene 顶部有一个按钮,我会将一个按钮 IBOutlet 从主故事板连接到 GameViewController。但是我如何设置它,以便在我触摸按钮时可以调用 GameScene 中的函数?
我必须通过委托来处理这个问题还是有更简单的方法?
编辑:
详细说明,我想调用的函数是:
func resetScene(){
self.removeAllActions()
self.removeAllChildren()
}
Run Code Online (Sandbox Code Playgroud)
我试图声明为 aclass func但不知何故它不太工作。
从其他类调用函数基本上有四种方法。
类的实例。如果你有一个类Object的实例,你可以像myObject.buttonTapped()一样在该实例上调用Object 的方法。
通过委托:为A类创建一个协议,并在协议中声明方法。A 类必须有一个协议实例。在buttonTapped方法中调用该方法,如delegate.notifyButtonTapped()。在B类中,遵守协议并实现notifyButtonTapped()方法。
通知:从 A 类通过NotificationCenter发布通知,并将该通知添加到 B 类中。检查此链接以获取更多信息。
你可以和代表团一起去这里。检查来自 rw 的此链接以进行澄清。