gpt4 book ai didi

arrays - 如何在 swift 中将 json 数组保存和检索为用户默认值?

转载 作者:行者123 更新时间:2023-11-30 10:47:36 25 4
gpt4 key购买 nike

我想保存响应json数组并使用userdefault检索json数组,到目前为止我只能在func fetchdata()中显示所有json数组,当我尝试在viewdidLoad中检索时我只得到一个响应json数组。我想获取viewdidLoad中所有的响应json数组。如何实现?

这是我的代码:

import UIKit
import SwiftyJSON
import Alamofire

class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
fetchData()
let tabledata = UserDefaults.standard.object(forKey: "id") // here i retrieve data and only get one response
print("table:\(tabledata)")
}
func fetchData(){
Alamofire.request("https://jsonplaceholder.typicode.com/users", encoding: URLEncoding.default).responseJSON {
response in
switch response.result {
case .success(let value):
let json = JSON(value)
print(json)
for item in json.array!{
let address = item["address"]["city"].string
let id = item["id"].stringValue
let userName = item["username"].string
UserDefaults.standard.set(id, forKey: "id")
let tabledata = UserDefaults.standard.object(forKey: "id") // here i retrieve data and get all response for id
print("table:\(tabledata)")
}
case .failure(let error):
print(error)
}
}
}
}

当我在 View didLoad 中检索时,我只得到响应:

table:Optional(10)

当我在 fetchData 函数中检索时,我得到所有响应:

table:Optional(1)
table:Optional(2)
table:Optional(3)
table:Optional(4)
table:Optional(5)
table:Optional(6)
table:Optional(7)
table:Optional(8)
table:Optional(9)
table:Optional(10)

我想获得所有响应,例如 viewDidLoad 或 viewWillAppear 的 fetchData 函数中的响应

最佳答案

您可以将所有 ID 存储在 UserDefaults 中,如下所示。

func fetchData(){
Alamofire.request("https://jsonplaceholder.typicode.com/users", encoding: URLEncoding.default).responseJSON {
response in
switch response.result {
case .success(let value):
let json = JSON(value)
print(json)

let ids = json.arrayValue.map { $0["id"].stringValue }
UserDefaults.standard.set(ids, forKey: "id")
case .failure(let error):
print(error)
}
}
}

现在您可以访问所有 ID,如下所示。无论您想在哪里使用。

guard let ids = UserDefaults.standard.stringArray(forKey: "id") else {
print(ids)
return
}

关于arrays - 如何在 swift 中将 json 数组保存和检索为用户默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55428053/

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