2016-12-04 1 views
1

NSJSONSerialization에서 반환 된 값에 대한 조건문에 문제가 있습니다. 사용자가 로그인했는지 여부를 확인하려고합니다. jsonData는 loggedIn 또는 notLoggedIn 중 하나 여야 값 userStatus를 반환합니다. 'if'문을 수행하려고하면 다음과 같은 오류가 발생합니다.NSJSONSerialization에서 반환 된 값에 대한 조건문

Cannot Subscript a value of type [[String: AnyObject] with an index of type String.

도움이 될만한 정보가 있으면 알려주세요. 당신은 사전 형 배열로 직렬화를 강요하는

do { 
    let jsonData = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as! [[String:AnyObject]] 
    let userStatus = jsonData["userStatus"] as! String 
    if userStatus == "loggedIn" { 
     print("The user is loggedIn") 
    } else { 
     print("The user is not loggedIn") 
    } 
} catch { 
    print("Error...") 
} 
+0

오류 무엇입니까? 오류의 원인은 무엇입니까? – rmaddy

답변

1

:

나는 다음과 같은 코드가 있습니다. 따라서 컴파일러가 오류를 던지는 이유 인 문자열로 배열을 인덱싱 할 수 없습니다. 데이터 유형이 사전 있어야하는 경우

따라서, 당신은 내용을 확인 후,이 배열을 통해 가능성이 가장 높은 반복 처리를 필요로하지 않으면

[String: AnyObject] 

하고 당신의 타입 캐스팅을 변경해야 결과에 대한 각 색인에.

관련 문제