2014-06-22 1 views
4

누구나 기술적 차이점에 대해 자세히 설명 할 수 있습니까? &? 우리가 신속한 언어로 사용하는 리터럴. 기본적으로 사과 개발자 문서에서 그들은 nil 유효성 검사로 언급했지만 그 뒤에있는 논리에 대해서는 명확하게 이해하지 못했습니다. 당신은 하나의 실시간 로직으로 같은 것을 설명 할 수 있습니까?기술적 인 차이점은 무엇입니까? &! 신속한 언어로?

미리 감사드립니다.

답변

9

옵션 체인 강제가

를 랩핑 해제하는 대신에 당신은 당신이 속성, 방법 또는 첨자 경우를 호출하고자되는 옵션 값 뒤에 물음표 (?)를 배치하여 선택적인 체인을 지정 optional은 non-nil입니다. 이는 에 값의 랩핑을 강제 실행하기 위해 선택적 값 다음에 @ & 표 (!)를 두는 것과 매우 유사합니다. 주요 차이점은 옵션 인 nil 인 경우 의 선택적 체인 연결이 정상적으로 실패하는 반면, 선택 사항이 nil 인 경우 강제 랩 해제가 런타임 오류를 유발한다는 점입니다.

-The Swift Programming Language

아무도 더 간단보다 그것을 설명 할 수 않을 것 (강조는 추가). 너 이해 하지마?