-1

这可能是一个简单的问题。我正在使用Reactive Location来获取用户的当前位置,请找到我的以下代码,

    ReactiveLocation.authorizeAction.apply(.whenInUse).startWithResult {
        switch $0 {
        case let .success(status):
            print("Current user permission status on WhenInUse is \(status)")
        case let .failure(error):                
            print(error.localizedDescription)
        }
    }

这里的错误是.restricted.denied,我希望根据错误向用户显示错误消息。如何识别它。

在上面的代码中,完成块看起来像这样,

在此处输入图像描述

请帮我解决问题。

4

1 回答 1

0

我建议更多地了解 Swift enum

您可以检查.restrictedand.denied的方式与检查.successand的方式相同.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
        }

    }
}
于 2018-06-15T07:24:25.447 回答