【发布时间】:2016-02-09 22:07:07
【问题描述】:
最近我拿起了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。如果你想得到一个后台队列,你可以使用这个dispatch_get_global_queue(Int(QOS_CLASS_BACKGROUND.rawValue), 0) -
@Breek 有你的答案。随着 swift 的更新,您现在可以执行
dispatch_async(dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0)){ //code to run on background queue }
标签: swift swift2 grand-central-dispatch foundation