2016-10-29 6 views
-1

내가 지금은 나에게 내가 가지고 어떻게스위프트 비 이스케이프 매개 변수

"는 @escaping 폐쇄를 기대 기능이 아닌 이스케이프 매개 변수의 성공을 통과"는 경고를 제공 내가 스위프트 3으로 업그레이드 한 후 스위프트 (2)에 기록하는 기능을 가지고 내 기능을 변경하여 경고를 삭제 하시겠습니까? .이 제 기능이다.이 좋아하는 기능을 변경 내가 그것은 나를 프롬프트 "그것을 매개 변수 수정"주는 경고를 클릭하면 성공 "암시 적으로 비 이스케이프되고

func getOfficeDetail (_ officeID:Int, success: ([String:AnyObject]) ->(), failure: (NSError, [String:AnyObject]?) ->()) -> Alamofire.Request { 
    return self.GET ("/endpoint/\(officeID)", parameters : nil, success: success, failure: failure) 
} 

func getOfficeDetail (_ officeID:Int, success: @escaping ([String:AnyObject]) ->(), failure: (NSError, [String:AnyObject]?) ->()) -> Alamofire.Request { 
    return self.GET ("/endpoint/\(officeID)", parameters : nil, success: success, failure: failure) 
} 

그리고 경고가 여전히 그리고 내가 그것을 클릭하면 바로 성공 후 키워드 @escaping를 추가 유지

이 내 get 함수입니다 :..

func GET (URL : String, parameters : [String : AnyObject]?, success: ([String:AnyObject]) ->(), failure: (NSError, [String:AnyObject]?) ->()) -> Alamofire.Request { 
//truncate 
} 
+0

'GET'선언을 표시하십시오. – matt

+0

GET 함수로 질문을 업데이트하십시오. – Voyager

답변

0

첫 번째 문제는 실제로 GET으로 전화 할 때 URL 매개 변수가 누락되었다는 것입니다. GETfunc GET (URL: String...)으로 정의되어 있지만 self.GET(...)으로 전화하면 URL:이라고 말한 것을 잊었습니다.

그러면 GET 선언에주의해야합니다. 이것은 @escaping 매개 변수없이 올바르게 컴파일됩니까? 그렇다면 getOfficeDetail@escaping 매개 변수로 컴파일해야합니다. 그렇지 않으면 일치해야합니다. 예를 들어 GET의 두 매개 변수가 모두 @escaping 인 경우 getOfficeDetail의 두 매개 변수는 모두 @escaping이어야합니다.