将类型传递给函数

时间:2015-11-03 14:29:39

标签: ios swift generics alamofire mapper

这是代码:

protocol RESTResource {
    func fullURL() -> NSURL
    func parameters() -> [String: AnyObject]
    func response() -> Mappable.Type
    func keyPath() -> String

    func headers() -> [String: String]?
}

protocol RemoteObjectsTable {

}

extension RemoteObjectsTable {

    func setupRemoteObjectsTable(resource: RESTResource) {        
        request(.GET, resource.fullURL(), parameters: resource.parameters(), headers: resource.headers())
        .responseObject { (response: Response<resource.response(), NSError>) -> Void in

        }
    }
}

responseObject函数的签名(来自AlamofireObjectMapper)是:

public func responseObject<T: Mappable>(keyPath: String, completionHandler: Response<T, NSError> -> Void) -> Self

我正在尝试在RESTResource协议的response()函数中获得符合Mappable协议的泛型类。 但是在尝试这样做时它给了我一个错误。它似乎没有将Response识别为Response的有效参数。

你有什么想法吗?

感谢。

0 个答案:

没有答案