[iOS / Swift] IUO(Implicitly Unwrapped Optional)정리
·
Swift/Swift 문법 정리
1. `Int?`와 `Int!`의 차이`Int?`(Optional타입)값을 가지고 있거나(`nil`이 아님), `nil`일 수도 있는 타입임.값을 사용하려면 명시적으로 언래핑(옵셔널 바인딩 or 강제언래핑)을 해줘야함let a: Int? = 0print(a) // Optional(0)`Int!`(IUO타입)마치 일반 타입처럼 사용할 수 있는 옵셔널임자동으로 언래핑되지만, `nil`일 경우 런타임 에러가 발생함실수로 크래시를 일으킬 위험이 크기 때문에 되도록 사용을 안하는 것이 좋음let b: Int! = 0print(b) // 0 (자동 언래핑)2. IUO의 자동 언래핑 시점: IUO는 Non-Optional 타입으로 저장하거나 처리할 때 자동으로 언래핑 됨.let a: Int? = 0let b: Int..