我正在尝试使用Alamofire 3和最新版本的ObjectMapper(
https://github.com/Hearst-DD/ObjectMapper)实现AlamofireObjectMapper(
https://github.com/tristanhimmelman/AlamofireObjectMapper).
似乎AlamofireObjectMapper尚未更新与Alamofire 3一起使用,所以我正在尝试自己做.
我来到这段代码,现在我被卡住了.
似乎通用类型T在响应的完成块内是不可访问的.是Alamofire 3改变还是Swift 2.1改变?
这是错误:
Cannot convert value of type ‘T?’ to expected argument type ‘_?’
public func responSEObject<T: Mappable>(queue: dispatch_queue_t?,keyPath: String?,completionHandler: (NSURLRequest,NSHTTPURLResponse?,T?,AnyObject?,ErrorType?) -> Void) -> Self { return response(queue: queue) { (request,response,data,error) -> Void in dispatch_async(dispatch_get_global_queue(disPATCH_QUEUE_PRIORITY_DEFAULT,0)) { let JSONResponseSerializer = Request.JSONResponseSerializer(options: .AllowFragments) let result = JSONResponseSerializer.serializeResponse(request,error) let parsedobject = Mapper<T>().map(keyPath != nil ? result.value?[keyPath!] : result.value) dispatch_async(queue ?? dispatch_get_main_queue()) { completionHandler(self.request!,self.response,parsedobject,result.value ?? response.data,result.error) // Here it shows the error: Cannot convert value of type 'T?' to expected argument type '_?' } } } }
刚刚找到解决方案.
这似乎是Xcode 7.1 beta编译器的一个问题.它在“parsedobject”参数上给出了问题,并且下一个参数出错了.
这似乎是Xcode 7.1 beta编译器的一个问题.它在“parsedobject”参数上给出了问题,并且下一个参数出错了.
completionHandler(self.request!,**result.value ?? data**,result.error)
因此,如果您碰巧遇到相同的错误,请查看所有其他参数是否正常.
祝好运.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。