2016-10-25 2 views
0

새 alamofire로 마이그레이션하려고하는데 문서에서 요청에 헤더를 추가하기 위해 사용자 정의 요청 어댑터를 수행해야한다고 알려줍니다. 어디서나 편하지 않고 나는 요청에 헤더를 추가하기를 원합니다. 특정 요청에 대한 애기를 만드는 대신 누군가가 그것을 할 방법을 찾았습니까?Swift Alamofire 4 사용자 정의 요청 어댑터없이 요청할 헤더 추가

아래에서 필자는 내 이전 코드 (주석 달기)를 공유했으며 새 코드에는 헤더 매개 변수가 없습니다.

  Alamofire.request(url, method: .post , parameters: parameters, encoding: JSONEncoding.default) 
       .responseJSON { response in 
        if response.result.isSuccess { 
         let time = DispatchTime(uptimeNanoseconds: DispatchTime.now().uptimeNanoseconds) + Double(1 * Int64(NSEC_PER_SEC))/Double(NSEC_PER_SEC) 
         DispatchQueue.main.asyncAfter(deadline: time) { 
          self.loadAreasFromServer(); 
          self.busy = false; 
         } 
        } 
      } 

      /*Alamofire.request(.POST, url,headers:headers,parameters:parameters, 
       encoding: .json) 
       .responseJSON { response in 
        if response.result.isSuccess { 
         let time = DispatchTime(DispatchTime.now()) + Double(1 * Int64(NSEC_PER_SEC))/Double(NSEC_PER_SEC) 
         DispatchQueue.main.asyncAfter(deadline: time) { 
          self.loadAreasFromServer(); 
          self.busy = false; 
         } 
        } 
      }*/ 

답변

3

메소드 서명이 변경되었습니다. 이것은 당신을 위해 작동합니다 :

Alamofire.request(url, method: .post , parameters: parameters, encoding: JSONEncoding.default, headers: headers) 
    .responseJSON { response in 
     if response.result.isSuccess { 
      let time = DispatchTime(uptimeNanoseconds: DispatchTime.now().uptimeNanoseconds) + Double(1 * Int64(NSEC_PER_SEC))/Double(NSEC_PER_SEC) 
      DispatchQueue.main.asyncAfter(deadline: time) { 
       self.loadAreasFromServer(); 
       self.busy = false; 
      } 
     } 
} 
+0

고마워요! 나는이 문서에서 찾을 수 없습니다! – Nero

+1

환영합니다. 기쁘게 도와 드리겠습니다! 다음 번에 조금 힌트. Xcode 자동 완성을 사용하면 메서드의 현재 서명이 어떻게 보이는지를 알 수 있습니다. – ronatory

관련 문제