遍历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 
    } 
} 

抛出“字符串”是无法转换为“任何”

+0

直接写让answerString =回答则它给出的建议只是把它然后将其转换为你想要 –

假设它已经被解析到字典里面的字符串数组,你应该能够做到这样的:

if let answers = myDict["answers"] as? [String] { 
    for answer in answers { 
    // Do something with answer (which is a String) 
    } 
} 
+0

那么容易。那么,清楚一点,就像? [字符串]将答案转换为字符串数组? –

+0

正确。 '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) 
    } 
} 
+1

感谢您的回答!请提供更多关于如何以及为何解决问题的背景。这将提高您的答案的长期价值。 – mangerlahn