Implicitly Unwrapped Optional

blanky_munn·2022년 4월 9일
0

Swift

목록 보기
2/3

IUO : Implicitly Unwrapped Optional (묵시적 추출)

let name : String!

묵시적 추출은 위에 코드 처러 사용된다.
변수나 상수를 선언할 때 Type뒤에 ? 대신 !를 붙인다.
이렇게 선언한 변수도 Optional Type 이며, Optional을 선언하는 또 다른 방식 중 하나이다. 변수선언을 IUO로 하게 되면 Non Optional Type으로 처리되어야할 때 값을 자동으로 추출 하게 된다.

var num : Int! = 4
var num2 : Int = num

기존에 사용하던 옵셔널 선언대로 하면 오류가 발생하지만 IUO를 이용하면
Optional Type을 Non Optional Type에 대입할 때 별도의 추출 과정 없이 대입이 가능한 것이다.

IUO또한 ? 대신 !를 사용한 Optional Type 이기 때문에, 강제 추출이다.

아직 까진 제대로 사용해보진 못했지만, 이렇게 선언하는 이유는 프로퍼티 지연 초기화 떄문에 사용한다고 한다.

Main.StoryBoard에서 아이템을 끌어오면 IBOutlet뒤에 !를 붙은것을 자주 보았다. 이게 IUO를 사용한 것? 이라고 하지만, 더 공부를 해보아야 알 수 있을것 같다.

profile
iOS 개발자 꿈나무

0개의 댓글