【问题标题】:Alamofire put requestAlamofire 放置请求
【发布时间】:2015-05-01 21:38:01
【问题描述】:

尝试让 Alamofire put 请求工作,但系统显示“Extra Argument in Call”

Alamofire.request(.PUT, apiUrl,params,ParameterEncoding.JSON)
        .responseJOSN{ (request, response, products: [Product]?,error) in
            println(request)
            println(response)
            println(data)
            println(error)
    }

谁能解决这个问题?

【问题讨论】:

    标签: alamofire


    【解决方案1】:

    您的代码示例中有多个问题。这是一个更正的版本,应该可以帮助您:

    let apiURLString = "whatever/your/url/is"
    let parameters: [String: AnyObject] = [:] // fill in your params
    
    let request = Alamofire.request(.PUT, apiURLString, parameters: parameters, encoding: .JSON)
    request.responseJSON { request, response, json, error in
        println(request)
        println(response)
        println(json)
        println(error)
    }
    

    我还鼓励您深入阅读 Alamofire README。它包含一些很棒的信息,应该可以让您更轻松地掌握基础知识。

    【讨论】:

    • 感谢您的回复 Cnoon,使用您提供的相同代码,显示错误“找不到成员 .PUT”和“找不到成员 JSON”。请帮我解决这个问题。
    • 我猜你有一个项目设置问题。你还记得import Alamofire吗?您是如何将 Alamofire 添加到您的项目中的?有一些很好的例子说明如何将 Alamofire 添加到您的项目 here
    • 获取请求对我来说工作正常。这是否意味着项目设置正常?你有一些带有 put 请求的示例项目吗?
    【解决方案2】:

    由于 'alamofire' '~2.0' 改变了参数的数量 您可以尝试使用以下代码块:

    Alamofire.request(.PUT,apiUrl,params).responseJSON { request, response,  result in
    
    print(request)
    print(response)
    print(result.value)
    
    if(result.isSuccess){
    
     //Do in success block
    
     }else{
     //Do in failure block
     }
    

    }

    Alamofire.request 没有可用的 error 处理程序参数,因此它向您显示“调用中的额外参数”

    【讨论】:

      猜你喜欢
      • 2021-01-13
      • 1970-01-01
      • 2017-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-19
      • 2018-02-10
      相关资源
      最近更新 更多