Swift dispatch_after throw不是前缀一元运算符错误

Seb*_*ger 2 multithreading dispatch grand-central-dispatch swift

我有以下代码:

import SpriteKit
import Foundation

class GameScene: SKScene {
    var occupiedCoordinates: NSMutableArray = NSMutableArray()

    func addShape () {

        //...

        shape.position = CGPoint(x:actualX, y:actualY)
        self.occupiedCoordinates.addObject(NSValue(CGPoint:shape.position))
        let halfDuration = random(min: CGFloat(0.5), max: CGFloat(5))

        //...

        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 2*halfDuration), dispatch_get_main_queue(), ^{
            self.occupiedCoordinates.removeObjectAtIndex(0)
            });
    }

}
Run Code Online (Sandbox Code Playgroud)

我使用原始剪切GCD: Dispatch After,我得到以下消息dispatch_after()

'^' is not a prefix unary operator
Run Code Online (Sandbox Code Playgroud)

任何想法是什么问题?

jtb*_*des 9

^{...}是Objective-C语法.你不需要^.