제가 궁금해 하는 부분에 대해 검색을 해봐도 속 시원하지가 않아서 질문 올립니다 !
예를 들어
class NobodyViewController: UIViewController {
var someController: SomeController! = nil
}
이런 클래스를 생성 하는데 안에 전역변수가 옵셔널로 하는 이유가 초기화시 값을 나중에 초기화 할려고 하는걸로 알고 있는데요.
단순 Int,String 을 옵셔널로 하는 의도는 알겠는데 class를 왜 옵셔널로 설정 하는 이유가 궁금합니다. 처음부터 초기화 시켜놓고 사용하면 안되는건가요?
?로 안하고 !로 하는 이유는 무조껀 필요하다는 의미로 알고 있는데 맞는건지.. 필요한데 왜 옵셔널인건지 의도와 이유가 궁금합니다.
그리고 ! = nil 로 되어있는 부분도 궁금합니다. 단지 !가 아니라 ! = nil 인건 처음 초기화시 nil이라는걸 명확히 하기 위해서인가요? 딱히 =nil을 안써도 되는건가요?