作为参数在类中枚举

时间:2016-02-11 19:19:29

标签: ios swift enums

我正在构建一个类来充当我的API帮助器,并且我已经在我的类中嵌套了一个枚举来显示响应状态:

class API {
  enum Response {
    case Success, Error, ServerError, ClientError
  }

  func load(handleResponse ((API.Response, JSON?) -> Void)) {
    // Load in data with Alamofire
    // Call handleResponse(.Success, data) at some point
  }
}

要使用我的API,我正在尝试编写如下内容:

API.load { (status: API.Response, data: JSON?) in
  ...
}

我使用上面的代码收到如下错误:

Cannot convert value of type '(API.Response, JSON?) -> ()' to expected argument type 'API'

好像是'。'在类型中是一个问题,但我不知道如何解决它。

1 个答案:

答案 0 :(得分:1)

请试试这个

class API {
    enum Response {
        case Success, Error, ServerError, ClientError
    }

    class func load(handleResponse: ((API.Response, JSON?) -> ())) {

    }
}


API.load { (response, json) -> () in

}