我是斯威夫特的noobie.我无法弄清楚为什么这段代码:
class GameScene: SKScene,SKPhysicsContactDelegate { var statements = Statements() override func didMovetoView(view: SKView) { runAction(SKAction.repeatActionForever( SKAction.sequence([ SKAction.runBlock(addLabel(statements)),SKAction.waitForDuration(2.0) ]) )) } func addLabel(statements: Statements) {...} }
结果:在调用中缺少参数“完成”的参数
类型检查器中的另一个奇怪的错误.因为self.addLabel(self.statements)的类型不是Void – > Void它是Void,编译器假设你在其他地方调用另一个方法(其他地方的地方,我不知道.在我能找到的任何地方都没有名为runBlock(_ :)的方法).当这样的事情发生时尝试一个明确的闭包
class GameScene: SKScene { var statements = Statements() override func didMovetoView(view: SKView) { runAction(SKAction.repeatActionForever(SKAction.sequence([ SKAction.runBlock({ self.addLabel(self.statements) }),SKAction.waitForDuration(2.0) ]))) } func addLabel(statements: Statements) -> Void { } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。