2014-07-26 1 views

답변

4

Objective-C에서 모든 포인터는 nil으로 설정할 수 있습니다. 이는 placeserror이 모두 nil 일 수 있음을 의미합니다. Objective-C에서 Swift로 변환 할 때는이를 고려해야합니다. 당신은 그들이 nil 될 수 있다는 사실을 설명하기 Optionalsplaceserror를 정의해야합니다

query.fetchPlaces() { (places: AnyObject[]?, error: NSError?) -> Void in 

} 

당신이 placesnil 수 없을 것이라는 점을 확실히 알고있는 경우. 당신은 또한 선택하지 것처럼 당신이 그것을 치료 알리는 Implicitly Unwrapped Optional로 선언 할 수 :

query.fetchPlaces() { (places: AnyObject[]!, error: NSError?) -> Void in 

} 

참고 : 당신은 (또는 1 2) 베타 이전 버전을 사용해야합니다. 최신 베타 버전으로 업데이트해야합니다. 배열은 이제 [SomeType]으로 선언되지 않습니다. SomeType[]

+0

마지막 주셔서 감사드립니다. 나는 실제로 문서의 구문이 작동하지 않는다는 것을 혼란 스러웠다. 그러나 내가 추측 한 구문은 다음과 같다. – aryaxt

3

어떤 객체가 nil이 될 수의 하위 유형되지 않습니다 :

나는 다음과 같은 컴파일 오류 , Swift에서는 명시 적으로 선언해야합니다. ObjC를 Swift로 변환 할 때 모든 Objective-C 객체는 선택 사항이됩니다. 시도 :

query.fetchPlaces() { (places: AnyObject[]?, error: NSError?) -> Void in 

} 
+2

오류 메시지가 더 의미있는 바램이 되었기를 바랍니다. – aryaxt