2016-09-01 2 views
0

나는 매우 초보자이며 API에서 일부 JSON 데이터를 가져 와서 해당 데이터에서 배열을 만드는 중입니다.성공적인 JSON 응답 후에 만 ​​추가 코드를 실행하는 방법은 무엇입니까?

Alamofire.request(.GET, URL) 
    .responseJSON 
    { 
     response in 
     let JSON = response.result.value 
     let response = JSON as! NSDictionary 
     let Data = response.objectForKey("data")! 
     for slot in timeSlot as! NSDictionary 
     { 
      let json = slot.value 
      let availability = json as! NSDictionary 
      let myavailable = availability.objectForKey("available")! 
      let slotTime = availability.objectForKey("time")! 
      if (myavailable as! NSNumber == 1) 
      { 
       self.fetchSlot.append(slotTime as! String) 
      } 
     } 
     for x in self.mySlot 
     { 
      for c in self.fetchSlot 
      { 
       if (c == x) 
       { 
        self.availableSlot.append(x) 
       } 
      } 
     } 
    } 

이제 동일한 viewDid로드 기능에서 "self.availableslot"을 인쇄하려고합니다. 그러나 모든 JSON 데이터를 가져 오기 전에 컴파일되기 때문에 항상 빈 배열을 반환합니다.

제 작업을 완료하기 위해 재로드 방법이나 완료 처리기 종류를 사용할 수있는 방법이 있다면 제발.

답변

0
func performAlamoFireRequest(completion:() -> Void) { 
    Alamofire.request(.GET, URL).responseJSON { 
     response in 

     let JSON = response.result.value 
     let response = JSON as! NSDictionary 
     let Data = response.objectForKey("data")! 

     for slot in timeSlot as! NSDictionary { 
      let json = slot.value 
      let availability = json as! NSDictionary 
      let myavailable = availability.objectForKey("available")! 
      let slotTime = availability.objectForKey("time")! 
      if (myavailable as! NSNumber == 1) { 
       self.fetchSlot.append(slotTime as! String) 
      } 
     } 

     for x in self.mySlot { 

      for c in self.fetchSlot { 
       if (c == x) { 
        self.availableSlot.append(x) 
       } 
      } 
     } 
     completion() 
    } 
} 

performAlamoFireRequest() { 
//code to perform after here 
} 
+0

viewDidLoad에서 performAlamoFireRequest 함수를 호출하는 방법은 무엇입니까? –

+0

코드를 붙이기 전에 코드를 쓰십시오. – Sethmr

+0

매개 변수를 전달해야합니다. 내 viewDidLoad에서만 performAlamoFireRequest 함수를 호출하려고했습니다. –

관련 문제