2017-02-11 136 views
0

我有一個從解析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 =回答則它給出的建議只是把它然後將其轉換爲你想要 –

回答

2

假設它已經被解析到字典裏面的字符串數組,你應該能夠做到這樣的:

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

那麼容易。那麼,清楚一點,就像? [字符串]將答案轉換爲字符串數組? –

+0

正確。 'as?'執行failable強制轉換,如果對象不能被強制轉換則返回'nil'。 –

0
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