gpt4 book ai didi

arrays - 快速检索 JSON 数据

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

我无法检索和打印 jobDate 数据。我的代码出了什么问题?

let retrievetime = UserDefaults().value(forKey: "retrieve")as? NSDictionary
print(retrievetime!)

if let job = retrievetime!["jobs"] as? [String:Any], let jobTitle = job["jobDate"] as? String {
self.navigationItem.title = jobTitle
print(jobTitle)
}

//self.navigationItem.title = "Test"

打印检索时间! json输出:

{
jobs =({
jobDate = "2017-08-31";
jobEndTime = 1504144800;
jobID = 87;
jobTime = 1504137600;
});
message = "Retrieve Sucessfully";
result = success;
}

最佳答案

首先使用标准单例实例和可选绑定(bind)来安全地从UserDefaults获取数据——除非您注册了键/值对。

其次,从不value(forKey)与UserDefaults一起使用,并且从不使用NSDictionary code> 在 Swift 中,除非编译器告诉你这样做。

最后,正如评论中提到的,键 jobs 的值(如复数形式所暗示的那样)是一个数组,您必须获取该数组的第一个对象

if let retrievetime = UserDefaults.standard.object(forKey: "retrieve") as? [String:Any] {
print(retrievetime)

if let jobs = retrievetime["jobs"] as? [[String:Any]],
let job = jobs.first,
let jobTitle = job["jobDate"] as? String {
self.navigationItem.title = jobTitle
print(jobTitle)
}
}

关于arrays - 快速检索 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45952935/

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