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)
}
}
它出现在与问题中发布的示例相同的页面上。
最近我拿起了 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)
}
}
它出现在与问题中发布的示例相同的页面上。