2016-06-09 2 views
0

신속한 답변 json을 받았습니다. for for 루프의 가치를 깨고 싶습니다. 내 코드는 아래와 같습니다.신속한 루프의 json 값을 얻을 수 없습니다.

func test(){ 
    Alamofire.request(.POST, "url", parameters:nil) 
     .responseJSON { response in 
      print(response.request) // original URL request 
      print(response.response) // URL response 
      print(response.data)  // server data 
      print(response.result) // result of response serialization 

      if let JSON = response.result.value { 
       print("JSON: \(JSON)") 
       //print(response.result.value!["headers"]!!["Accept"]) 
       let mansetArray = response.result.value!["mansetler"] as! NSArray 

       for var i = 0; i < mansetArray.count; ++i { 
        let item = mansetArray[i] as? [String: AnyObject] 
        let name = item!["news_title"] as? [String: AnyObject] //eror 
        print(item) //print: nil, nil, nil, nil, nil, nil, nil, nil 
       } 

      } 
    } 
} 

포맷 : 도움을

{ }JSON 
    [ ]mansetler 
    { } 0 
     news_id : "value1" 
     news_title : "value2" 
     news_photo_headline : "value3" 
     headline_category_title : "value4" 
     news_date : "09 June 2016, Thursday" 
     news_readed_count : "36" 

감사합니다.

+0

에 따라'= 항목을 이름을하자! "news_title"]로? [String : AnyObject]'대신에? (스위프트에 익숙하지 않기 때문에 "!"및 "?"에 대해 알지 못하지만 그 값을 키로 전달하는 것이 이상하게 보입니다. 그러나 정확하게 작동하지 않는 것을 설명해야합니다. – Larme

답변

0

다음 사항을 변경해야합니다.

if let JSON = response.result.value as? [String:AnyObject] 

배역 객체는 JSON

let name = item!["news_title"] as? String 
+0

감사합니다. 당신의 대답을 위해. –

관련 문제