首页 > 解决方案 > 快速投射物体时崩溃

问题描述

在尝试投射对象时,会产生与释放对象相关的崩溃。

问题可以缩小到以下代码:

enum A: Error {
    case a
}
enum B: Error {
    case b
}
func errorHanlding(result: Result<Void, NSError>) {
    if case .failure(let error) = result {
        if case .a = error as? A {
            print("Success")
        }
    }

    return
}

errorHanlding(result: .failure(B.b as NSError))

这是允许检查根源的代码片段。问题与这条线有关:

if case .a = error as? A

没有这个铸造一切正常。

没有人知道它为什么会崩溃吗?

Xcode 版本:11.3.1 斯威夫特:5.1.3

标签: swiftcrash

解决方案


推荐阅读