我试图检查演员的行为。这是 Swift5.5 提供的新特性。
我用官方文档swift.org中的示例代码创建了一个游乐场:
import Foundation
actor TemperatureLogger {
let label: String
var measurements: [Int]
private(set) var max: Int
init(label: String, measurement: Int) {
self.label = label
self.measurements = [measurement]
self.max = measurement
}
}
let logger = TemperatureLogger(label: "Outdoors", measurement: 25)
print(await logger.max)
// Prints "25"
但是我的编译器在这个例子中失败了:
Swift 编译器错误:
'await' 在不支持并发的函数中
Actor 隔离属性 'max' 只能从 Actor 内部引用
那么如何访问参与者隔离的属性呢?
也许这是编译器或示例代码中的错误?
Xcode 版本 13.0 测试版 (13A5154h) Swift 版本 5.5