gpt4 book ai didi

ios - Swift 从 NSDictionary 读取数据

转载 作者:搜寻专家 更新时间:2023-10-31 22:07:14 25 4
gpt4 key购买 nike

我正在使用这段代码从 NSDictionary 中读取数据:

let itemsArray: NSArray = response.objectForKey("items") as! NSArray;
let nextPageToken: String = response.objectForKey("nextPageToken") as! String

var videoIdArray: [String] = []

for (item) in itemsArray {
let videoId: String? = item.valueForKey("id")!.valueForKey("videoId") as? String
videoIdArray.append(videoId!)
}

但是当我 itemsnextPageToken 不存在时,我得到这个错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

知道为什么吗?我该如何解决?

最佳答案

您的代码中有两个问题:

  1. 你正试图强制解包一个可以为 nil 的可选值。如果您不确定数据是否可用,切勿使用强制解包。
  2. 您正在使用 valueForKey: 而不是 objectForKey: 从字典中检索数据。使用 objectForKey: instead of valueForKey:用于从字典中获取数据。

您可以通过以下方式修复崩溃:

let itemsArray: NSArray?   = response.objectForKey("items") as? NSArray;
let nextPageToken: String? = response.objectForKey("nextPageToken") as? String

var videoIdArray: [String] = []
if let itemsArray = itemsArray
{
for (item) in itemsArray
{
let videoId: String? = item.objectForKey("id")?.objectForKey("videoId") as? String
if (videoId != nil)
{
videoIdArray.append(videoId!)
}
}
}

关于ios - Swift 从 NSDictionary 读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33367183/

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