gpt4 book ai didi

ios - Alamofire 4.4.0 : Extra Argument 'Method' in Call: Do not know What is Throwing Error

转载 作者:行者123 更新时间:2023-11-28 15:35:39 24 4
gpt4 key购买 nike

我在 swift 中有一个 alamofire 请求,我不确定为什么它会抛出 Extra Argument 'Method' in Call:

Alamofire.request(
URL(string: "https://api.io"),
method: .post,
parameters: [
"grant_type": "client_credentials",
"client_id": "user00941",
"client_secret": "ILGddu8y8g7qW"
],
encoding: .urlEncodedInURL
).response {

request, response, data, error in

let json = JSON(data: data!)

print("OAuth 2 token obtained from API: \(json["access_token"])")

let token = "Bearer \(json["access_token"].stringValue)"

}

我一直在查看其他各种帖子,但似乎找不到适合我的代码的解决方案。

最佳答案

your original code 的问题是你在使用 argument label url 即使 Alamofire.request function signature省略了它:

public func request(
_ url: URLConvertible,
method: HTTPMethod = .get,
parameters: Parameters? = nil,
encoding: ParameterEncoding = URLEncoding.default,
headers: HTTPHeaders? = nil)
-> DataRequest

从您的函数调用中删除 url: 将解决那个错误,但是 Swift 应该会提醒您“可选类型 'URL 的值?'” [是] 没有展开。”尽管您可以使用forced unwrapping要提取 URL 的值,我建议使用 optional binding相反:

if let url = URL(string: "https://api.io") {
Alamofire.request(
URL(string: "https://api.io"),
method: .post,
parameters: [
"grant_type": "client_credentials",
"client_id": "user00941",
"client_secret": "ILGddu8y8g7qW"
],
encoding: .urlEncodedInURL
).response {
request, response, data, error in

let json = JSON(data: data!)

print("OAuth 2 token obtained from API: \(json["access_token"])")

let token = "Bearer \(json["access_token"].stringValue)"
}
}

或者,您可以使用 guard 语句来保留 Golden Path通过您的代码:

guard let url = URL(string: "https://api.io") else {
return
}

关于ios - Alamofire 4.4.0 : Extra Argument 'Method' in Call: Do not know What is Throwing Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44318618/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com