代码之家  ›  专栏  ›  技术社区  ›  PPL

反应位置-处理成功和失败块

  •  -1
  • PPL  · 技术社区  · 6 年前

    这可能是个简单的问题。 我在用 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)
            }
        }
    

    这里的错误是 受限制的 否认 ,我希望根据错误向用户显示错误消息。如何识别它。

    在上面的代码中,完成块如下所示,

    enter image description here

    请帮我解决这个问题。

    1 回复  |  直到 6 年前
        1
  •  0
  •   ABeard89    6 年前

    我建议多了解一下斯威夫特 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
            }
    
        }
    }