swift - 如何比较 Result 和 .succeed in swift

来自 https://www.hackingwithswift.com/articles/161/how-to-use-result-in-swift ,它有关于如何使用“快速结果”的示例,如下所示:

fetchUnreadCount1(from: "https://www.hackingwithswift.com") { result in
    switch result {
    case .success(let count):
        print("\(count) unread messages.")
    case .failure(let error):
        print(error.localizedDescription)
    }
}

我的问题是上面的 switch case 可以工作,为什么不能编译:

 if (result == .success) {
     print ("Success")
 }

我收到错误提示无法转换类型的值

'Result<Void, Error>' to expected argument type 'DispatchTimeoutResult'

最佳答案

您可以使用 pattern matching在带有 caseif 语句中,如下所示:

if case .success = result {
    print("Success")
}

https://stackoverflow.com/questions/63603683/

相关文章:

ios - 使用 ShareExtension 分发 Flutter 应用程序时缺少 CFBundl

php - 如何使用 line bot webhook 请求在线路组中使用 @mention/@ta

javascript - 如果导航到 React Native 中的其他屏幕,如何保留 formik

javascript - 从 javascript 到 mssql 的瑞典字符 - 在数据库表中显示

html - CSS Grid - 在自动流列上自动生成新的行中断

python - 将 PNG 图像从文件夹转换为 JPG - Python

markdown - 如何在 Sublime Text 3 中为 Markdown 启用 Emmet

java - 致命异常 : java. lang.IllegalArgumentException

reactjs - 如何在 React Navigation 5 中将图像添加到抽屉?

apache-flink - Apache Flink JobListener 无法正常工作