我建议多了解一下斯威夫特
enum
。
你可以查一下
.restricted
和
.denied
和你检查的一样
.success
和
.failure
.
唯一的区别是
LocationAuthorizationError
没有关联的值。
ReactiveLocation.authorizeAction.apply(.whenInUse).startWithResult {
switch $0 {
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
}
}
}