swift - EXC_BAD_INSTRUCTION 等待 Task.sleep

标签 swift swiftui

尝试使用以下由参与者支持的 ObservableObject,并在等待 Task.sleep 时收到错误

EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=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
    }

}

最佳答案

除了很小的值外,Task.sleep 都会崩溃。这东西很新;你看到的是一个测试版,几乎是一个阿尔法版。它充满了错误。这是其中之一。

关于swift - EXC_BAD_INSTRUCTION 等待 Task.sleep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68108905/

相关文章:

ios - 在 SwiftUI 中,当一个 actionsheet 出现时会发生什么?

ios - 在 SwiftUI 中传递 View 或高阶组件

ios - 模糊 View 适用于模拟器,但不适用于设备

ios - 在 iOS 共享扩展中创建文本字段

ios - 体系结构 x86_64 : for Firebase in Xcode 8. 3.2 的 undefined symbol

ios - 2轴坐标系bezierpath中数据点的样条

swift - 如何从 SwiftUI 中带有修饰符的函数返回按钮?

swift - 如何正确出列代码中的字幕 UITableViewCell?

swiftui - 为什么NavigationStack的navigationDestination作为VStack的一部分没有被调用?

swiftui - WKView 内容不显示在 NSViewRepresentable 中