尝试使用由参与者支持的以下 ObservableObject 并在等待 Task.sleep 时收到错误
EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
有任何想法吗?
class Reader: ObservableObject {
static let shared = Reader(actor: .init())
let actor: TestActor
@Published var val = 0
@MainActor func read() async {
val = await actor.val
}
func increment() async -> Bool {
await actor.increment()
await read()
return true
}
init(actor: TestActor) {
self.actor = actor
}
}
actor TestActor {
var val = 0
func increment() async {
let oldval = val
await Task.sleep(2000000000) // Error here!
val += 1
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
171 次 |
| 最近记录: |