【发布时间】:2021-10-02 02:25:25
【问题描述】:
我目前正在为 Destiny 2 API 制作应用程序。
我正在努力解决这个问题
这是我将哈希数据生成项目名称的整个函数代码
我想返回最后被保护的名称变量,但是完成处理程序
在函数结束后运行。
我搜索了互联网,但几乎每个人都只是在其中使用了这些数据,而不是
函数返回。
我只需要“解析 json 并获取我想要的返回数据”
请问有什么办法吗?
item 参数表示“获取项目名称的项目哈希”
lang 参数表示“返回的语言”,如果是“en”,则返回英文。
这也是我删减的数据“https://pastebin.com/1tV6fx9F”
func hashToName(item: String, lang: String = "ko") (" want to return String "-> String ){
let url = String(format: "https://www.bungie.net/platform/Destiny2/Manifest/DestinyInventoryItemDefinition/\(item)")
let param: [String: String] = ["lc": "\(lang)"]
let head: HTTPHeaders = ["x-api-key": "b21e4d2d33234b82be6e56893554974b"]
let doNetwork = AF.request(url, method:.get, parameters: param, encoder: URLEncodedFormParameterEncoder.default, headers: head)
doNetwork.responseJSON {
response in
switch response.result {
case .success(let site):
guard let dict = site as? NSDictionary else { return }
guard let res = dict["Response"] as? NSDictionary else { return }
guard let prop = res["displayProperties"] as? NSDictionary else { return }
guard let name: String = prop["name"] as? String else { return }
print(name) // data I want to return
case .failure(let err):
print(err.localizedDescription)
}
}
}
【问题讨论】:
标签: swift alamofire completionhandler