Reactive Location - 处理成功和失败块
Reactive Location - Handle success and failure block
这可能是个简单的问题。
我正在使用 Reactive Location,获取用户的当前位置,请找到我下面的代码,
ReactiveLocation.authorizeAction.apply(.whenInUse).startWithResult {
switch [=10=] {
case let .success(status):
print("Current user permission status on WhenInUse is \(status)")
case let .failure(error):
print(error.localizedDescription)
}
}
这里的错误是.restricted和.denied,我希望根据错误向用户显示错误信息。如何识别它。
在上面的代码中,完成块看起来像这样,
请帮我解决问题。
我建议多了解 Swift enum
。
您可以像检查 .success
和 .failure
一样检查 .restricted
和 .denied
。
唯一的区别是 LocationAuthorizationError
没有关联值。
ReactiveLocation.authorizeAction.apply(.whenInUse).startWithResult {
switch [=10=] {
case let .success(status):
print("Current user permission status on WhenInUse is \(status)")
case let .failure(actionError):
switch actionError {
case .producerFailed(.restricted):
print("Authorization Restricted")
case .producerFailed(.denied):
print("Authorization Denied")
default:
break
}
}
}
这可能是个简单的问题。 我正在使用 Reactive Location,获取用户的当前位置,请找到我下面的代码,
ReactiveLocation.authorizeAction.apply(.whenInUse).startWithResult {
switch [=10=] {
case let .success(status):
print("Current user permission status on WhenInUse is \(status)")
case let .failure(error):
print(error.localizedDescription)
}
}
这里的错误是.restricted和.denied,我希望根据错误向用户显示错误信息。如何识别它。
在上面的代码中,完成块看起来像这样,
请帮我解决问题。
我建议多了解 Swift enum
。
您可以像检查 .success
和 .failure
一样检查 .restricted
和 .denied
。
唯一的区别是 LocationAuthorizationError
没有关联值。
ReactiveLocation.authorizeAction.apply(.whenInUse).startWithResult {
switch [=10=] {
case let .success(status):
print("Current user permission status on WhenInUse is \(status)")
case let .failure(actionError):
switch actionError {
case .producerFailed(.restricted):
print("Authorization Restricted")
case .producerFailed(.denied):
print("Authorization Denied")
default:
break
}
}
}