스위프트 옵셔널 타입

스위프트 옵셔널 타입이 있다.

옵셔널 타입의 목적은 변수 또는 상수에 아무런 타입의 값이 할당되지 않는 상황을 처리하기 위하여 안전하고 일관된 방법을 제공하는 것이다.

옵셔널하게 변수를 선언하고자 하면 선언부 뒤에 '?' 추가하면 된다.
var index:Int?

만약 옵셔널이 할당된 값을 갖는다면 그 값은 옵셔널에 래핑되었다고 한다.
옵셔널에 래핑된 값은 강제 언래핑이라 불리는 개념을 사용하여 접근이 가능해진다.
이는 옵셔널 데이터 타입에서 값을 추출한다는 의미이다.
옵셔널 이름 뒤에 '!' 붙이면 된다.

이 방법 말고 옵셔널 바인딩을 이용하여 임시변수 또는 상수에 할당할 수 있다.
if let c = option {  }

용어를 어렵게 사용해서 이해가 잘 가지 않는다.

쉽게 말해 스위프트는 선언할 때 값을 될 수 있으면 할당하라는 말이다.

하지만 변수와 상수는 필요할 때 할당하는게 자원의 활용에 좋을 것이다.
 lazy 가 대세가 되는 것도 같은 이유이다.

널 값으로 넣어 두고 할당하려면 '?'를 추가하고
이 값을 사용하려면 '!'를 추가해야 한다는 말인거 같다.

정 특수문자를 쓰기 싫다면
if let c = optional {  }
이 구문으로 임시로 할당해서 사용하라는 것 같다.
[출처 : 핵심만 배우는 iOS9 프로그래밍, 닐 스미스, 황반석, 2016.4.25, 페이지 54~57]

댓글

이 블로그의 인기 게시물

한글 2010 에서 Ctrl + F10 누르면 특수문자 안뜰 때

아이폰에서 RFID 사용하는 방법

VCC 와 GND 는 무엇일까?