IUO
- 옵셔널 묵시적 추출
- Optional Unwrapping의 한 방법
- 별도로 추출하는 과정을 거치지 않아도 자동으로 옵셔널 해제
@IBOutlet weak var tableView: UITableView!
- ! 가 있지만 옵셔널 타입임.
- Non-Optional Type으로 처리되어야 할 때 값을 자동으로 추출
- 즉, Optional Type을 Non-Optional Type에 대입할 때 별도의 추출 과정 없이 대입 가능
사용 목적
- 프로퍼티 지연 초기화를 하기 위해 사용(Lazy Initialization)
- Outlet이 IUO인 이유는 아웃렛이 선언만 되어있고 연결되어있지 않을 시 UI가 제대로 동작하지 않기 때문. 문제가 있다는 것을 개발 과정에서 바로 발견할 수 있다.