Grand Central Dispatch with Swift:使用未解析的标识符 GCD

Grand Central Dispatch with Swift: Use of unresolved identifier GCD

最近我拿起了 Swift High Performance 这本书,并尝试了其中一个与 Apple 的 Grand Central Dispatch (GCD) 有关的示例。我将以下代码放入 Playground 文件中:

import Foundation
//import XCPlayground
//XCPSetExecutionShouldContinueIndefinitely()

class SalesData {

    var revenue: [Int]
    var average: Int?

    init (revenue: [Int]) {
        self.revenue = revenue
    }

    func calculateAverage() {

        let queue = GCD.backgroundQueue()
        dispatch_async(queue) {

        var sum = 0
        for index in self.revenue.indices {
            sum += self.revenue[index]
        }

        self.average = sum / self.revenue.count
    }
}

摘自:“Swift 高性能。”

但是,可以看出attahced sceenshot , XCode 告诉我有一个 Use of unresolved identifier GCD。知道我在这里遗漏了什么吗?

谢谢!

在书中,他们定义了一个名为 GCD 的结构,它提供了该方法。因此,您必须查看本书以获取示例所需的其余代码。

编辑:

这是本书提供的GCD结构:

struct GCD {
    static func backgroundQueue() -> dispatch_queue_t {
        return dispatch_get_global_queue (QOS_CLASS_BACKGROUND, 0)
    }
}

它出现在与问题中发布的示例相同的页面上。