我正在使用这段代码来读取数据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!)
}
但是当我items
or nextPageToken
不存在我收到此错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
知道为什么吗?我该如何修复它?
您的代码中有两个问题:
- 您正在尝试强制解开一个可能为零的可选值。如果您不确定数据是否可用,切勿使用强制解包。
- 您正在使用
valueForKey:
代替objectForKey:
用于从字典中检索数据。使用objectForKey:而不是 valueForKey: https://stackoverflow.com/questions/1062183/difference-between-objectforkey-and-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!)
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)