Ios 无法调用非函数类型的值';NSHTTPURLRResponse?&x27;

Ios 无法调用非函数类型的值';NSHTTPURLRResponse?&x27;,ios,json,swift,alamofire,Ios,Json,Swift,Alamofire,我在这个网站上见过这个问题好几次,但似乎没有一个解决方案是有效的 因此,我扩展了alamofire请求以拥有一个repo对象数组;然而,我一直在标题中发现错误。代码如下: extension Alamofire.Request { class func repoArrayResponseSerializer() -> ResponseSerializer<Array<Repo>, NSError> { return ResponseSerialize

我在这个网站上见过这个问题好几次,但似乎没有一个解决方案是有效的

因此,我扩展了alamofire请求以拥有一个repo对象数组;然而,我一直在标题中发现错误。代码如下:

 extension Alamofire.Request {
   class func repoArrayResponseSerializer() -> ResponseSerializer<Array<Repo>, NSError> {
    return ResponseSerializer { request, response, data, error in
        guard error == nil else { return .Failure(error!) }

        guard data != nil else { return .Failure(error!) }

        do {
            let jsonData: AnyObject? = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments)
            let json = JSON(jsonData!)

            if json.error != nil || json == nil {
                return .Failure(error!)
            }

            var repos: Array = Array<Repo>()
            for (_, jsonRepo) in json {
                let repo = Repo(json: jsonRepo)
                repos.append(repo)
            }

            return .Success(repos)
        } catch {
            return .Failure(error as NSError)
        }
    }
}

func responseRepoArray(completionHandler: Result<Array<Repo>, NSError> -> Void) -> Self {
    return response(responseSerializer: Request.repoArrayResponseSerializer(), completionHandler: completionHandler)
}
扩展Alamofire.Request{
类func reporaryResponseSerializer()->ResponseSerializer{
返回ResponseSerializer{请求、响应、数据中存在错误
guard error==nil else{return.Failure(error!)}
保护数据!=nil else{return.Failure(error!)}
做{
让jsonData:AnyObject?=尝试NSJSONSerialization.JSONObjectWithData(data!,选项:.AllowFragments)
让json=json(jsonData!)
如果json.error!=nil | | json==nil{
return.Failure(错误!)
}
var repos:Array=Array()
对于json中的(_,jsonRepo){
让repo=repo(json:jsonRepo)
回购追加(回购)
}
回报.成功(回购协议)
}抓住{
return.Failure(错误为N错误)
}
}
}
func responseRepoArray(completionHandler:Result->Void)->Self{
返回响应(responseSerializer:Request.repoararyResponseSerializer(),completionHandler:completionHandler)
}
}


感谢所有帮助。

错误似乎很清楚。您认为您的小写字母
回复是什么?
回复(…
似乎不正确。@成吉思汗您能找到答案吗?在更新到Xcode 8 beta 6和Alamofire swift3(今天更新)后,我发现同样的错误@blwinters你找到解决方案了吗?我也有同样的问题…@Mat0老实说,我不记得在我的项目中哪里需要这个,但自从更新到Alamofire最新的
master
分支后,我就没有这个问题了。