我是斯威夫特的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) {...}
}
结果:缺少参数'完成'在电话中
答案 0 :(得分:10)
类型检查器中又一个奇怪的错误。因为self.addLabel(self.statements)
的类型不是Void -> Void
它是Void
,所以编译器假设你在其他地方调用另一个方法(其他地方的地方,我没有线索。没有名为{的方法{1}}我能找到的任何地方)。当发生类似这样的事情时尝试显式闭包
runBlock(_:)