2016-11-08 4 views
0
typealias SwiftAMapCompletion = (CLLocation?,AMapLocationReGeocode?,Error) -> Void 
var locationResult : SwiftAMapCompletion? 

내가 오류로 전무를주고 싶어 더 컨텍스트없이 모호하지만, "스위프트 컴파일러 오류"입니다 유형 '오류'없이 모호스위프트 컴파일러 오류, 표현 형식 '오류'

표현 더 컨텍스트. (SwiftAMapCompletion는 변경할 수 없습니다)

locationResult!(location, reGeocode, nil as! Error) 
+0

typealias SwiftAMapCompletion = (CLLocation?, AMapLocationReGeocode?, Error) -> Void – KamyShi

+0

var locationResult : SwiftAMapCompletion? – KamyShi

+0

locationResult! (위치, reGeocode, 오류로 없음) – KamyShi

답변

0

당신은 as!를 사용하지 않더라도, 오류로 전무를 강제 할 수 없다.

옵션은 다음과 같습니다 그건 당신이 전무를 전달할 수 있다는 것을 의미하기 때문

  1. 변경 선언은 Error?합니다.
  2. 오류 전달. 예를 들어

:

제 생각에는
enum MyError: Error { 
    case ok 
} 
locationResult!(location, reGeocode, MyError.ok) 

, 당신의 SwiftAMapCompletion 인터페이스는 어떤 이해가되지 않습니다,이 같은 일반적으로 콜백이 될 것이기 때문 "이곳은 결과, 또는 여기에 오류입니다"그래서 모든 매개 변수는 선택 사항으로 선언해야합니다 (?). 당신이 할 수 있다면 나는이 인터페이스를 바꿀 것이다.

+0

OK, 이해합니다! 감사 – KamyShi

관련 문제