遍历NSDictionary中的字符串数组
我有一个从解析JSON获得的NSDictionary。其中一个对象是一串字符串。我怎样才能遍历这个数组?我完全无法正确地投射所有东西 - 我尝试的所有东西都会引发投射错误。例如。 (很多不同的尝试之一)遍历NSDictionary中的字符串数组
if let answers = myDict.object(forKey: "answers") as? Array {
for answer in answers {
let answerString: String = answer as! String
//do something with the string
}
}
抛出“字符串”是无法转换为“任何”
假设它已经被解析到字典里面的字符串数组,你应该能够做到这样的:
if let answers = myDict["answers"] as? [String] {
for answer in answers {
// Do something with answer (which is a String)
}
}
那么容易。那么,清楚一点,就像? [字符串]将答案转换为字符串数组? –
正确。 'as?'执行failable强制转换,如果对象不能被强制转换则返回'nil'。 –
let ans = myDict["answers"]
if ans is [String] {
let answers = ans as! [String]
for answer in answers {
// Do something with answer (which is a String)
}
}
感谢您的回答!请提供更多关于如何以及为何解决问题的背景。这将提高您的答案的长期价值。 – mangerlahn
直接写让answerString =回答则它给出的建议只是把它然后将其转换为你想要 –