Swift:SKAction.runBlock -> 调用中缺少参数 'completion' 的参数,但为什么?

标签 swift sprite-kit

我是 Swift 新手。我不明白为什么这段代码:

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 { }
}

关于Swift:SKAction.runBlock -> 调用中缺少参数 'completion' 的参数,但为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26411883/

相关文章:

swift - GoogleCast iOS 发件人,v4,不发送消息

sprite-kit - 如何在Spritekit中创建渐变?

swift - 如何获取 ECG 电压测量 HKElectrocardiogram.VoltageMeasurement iOS 14

ios - 掩码 SKSpriteNode

swift - 将玩家分数添加到 SpriteKit 中的社交框架消息中

swift:返回具有相同位置的子节点

ios - SpriteKit 背景 PNG,Alpha 显示黑色

ios - 重新排序 CollectionView 单元格 iOS 11

ios - UITableViewCell Swift 中的自定义 View

ios - 在 Swift 中使用属性和 Map 过滤自定义对象数组