본문 바로가기

optional2

[Swift] 옵셔널 체이닝과 nil 병합 연산자 옵셔널 체이닝 옵셔널 체이닝이란? nil일수도 있는 옵셔널 프로퍼티, 메서드, 서브스크립트 등을 가져오거나 호출하는 과정이다. 값이 있으면 접근을 허용하여 성공적으로 호출이 되고, 값이 없으면 nil을 반환한다. 호출하고 싶은 옵셔널에?를 붙여 표현하면 사용할 수 있다. 특징 옵셔널 체이닝의 마지막 표현식은 값이 옵셔널이든 아니던?를 생략한다. ex) A?.B? 는 안되고 A?. B로 표현해야 함 중첩된 옵셔널 중 1개라도 값이 존재하지 않으면(nil을 가지면) 결과적으로 nil을 반환한다. 그리고 nil을 반환한 옵셔널 뒤의 표현식들은 평가되지 않는다. ex) A?. B?. C?. D일 때 B가 값을 가지고 있지 않아 nil을 반환한다면 B뒤의 표현식인 C와 D는 평가되지 않고 B에서 평가를 멈추고 n.. 2023. 3. 31.
[Swift] 옵셔널 - 옵셔널이란?, 옵셔널 추출 옵셔널(Optional)이란? Optional은 값이 있을 수도 있고, 없을 수도 있음을 의미한다. 옵셔널이 아닌 값에 nil을 할당할 수 없는데, 이때 nil을 사용하기 위해서는 옵셔널을 사용해야 한다. 옵셔널 사용 이유 nil이 있을 수도 있다는 가능성을 명시적으로 표현 안전성을 높여줌 - 전달값이 옵셔널이 아니라면 nil체크 불필요 - 예외 상황을 최소화하는 안전한 코딩 옵셔널 선언 방법 일반적으로 물음표(?)를 붙여 옵셔널을 선언하지만 옵셔널의 명확한 표현 방법은 Optional 이다. var name:String? var name:Optional 두 선언 모두 사용가능하며 같은 뜻을 가진다. 이렇게 옵셔널로 선언한 변수에는 nil을 할당할 수 있게 된다. 하지만 옵셔널을 기존 변수처럼 연산을 하.. 2023. 3. 15.