如何将结果与swift中的成功进行比较
从中,它有一个关于如何使用“Result in swift”的示例,如下所示:如何将结果与swift中的成功进行比较,swift,Swift,从中,它有一个关于如何使用“Result in swift”的示例,如下所示: fetchUnreadCount1(from: "https://www.hackingwithswift.com") { result in switch result { case .success(let count): print("\(count) unread messages.") case .failure(let err
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)
}
}
if case .success = result {
print("Success")
}
我的问题是,上面的开关案例是哪种,为什么不编译:
if (result == .success) {
print ("Success")
}
我得到一个错误,说无法转换类型的值
“Result”为预期的参数类型
“DispatchTimeoutResult”
您可以在if
语句中使用case
如下:
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)
}
}
if case .success = result {
print("Success")
}
您可以在if
语句中使用case
如下:
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)
}
}
if case .success = result {
print("Success")
}
我不确定错误原因,但要检查具有关联值的枚举的条件,必须使用switch。在这种情况下,可以使用
if case
,if case.success(let count)=result{然后使用if
子句中的count
变量我不确定错误原因,但要检查具有关联值的枚举的条件,必须使用开关。在这种情况下,可以使用if case
,if case.success(let count)=result{然后在if
子句中使用count
变量