2017-02-11 15 views
0

私はJSONを解析してNSDictionaryを取得しました。オブジェクトの1つは文字列の配列です。この配列をどのように反復処理できますか?私はすべてを正確に鋳造するのに完全に絡み合っています。私が試したすべてが鋳造エラーを起こします。例えば。 (さまざまな試みの1)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

を望むように変換し、それを取る示唆を与え、その後の答えを聞かせて書きます。だから、明らかにするには? [String]文字列の配列として回答をキャストしますか? –

+0

正しい。 'as?'は、オブジェクトをキャストできない場合に 'nil'を返すfailableキャストを実行します。 –

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

関連する問題