2017-02-11 2 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? '는 객체 캐스팅이 불가능한 경우'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