옵셔널(2)
-
[iOS_Swift] 옵셔널(Optional) 제대로 이해하기
옵셔널(Optional)이란? 공식 문서에 의하면 '옵셔널'이란 값이 없을 수도 있는 상황(nil)에서 사용되어지는 표현으로, Swift의 특징 중 하나인 안전성을 문법을 적용시킴으로써 보장해주는 기능이다! 값이 없을 수도 있는 상황이라는게 조금 모호할 수도 있는데, 공식문서에서는 이러한 점을 보완하기 위해 다음과 같이 설명하고 있다. 요약하면, PossibleNumber라고 하는 String타입인 상수가 있고 ConvertedNumber라고 하는 상수가 있다. 컨버티드넘버는 파서블넘버의 값을 Int타입으로 초기화한 값을 갖는다. 그런데 초기화하는 과정에서 실패가 일어날 수도 있다. 위의 예시는 파서블넘버의 값이 숫자로만 이뤄진 String타입이기때문에 초기화가 성공하지만 만약 파서블넘버가 "Hello,..
2022.01.05 -
[iOS_Swift] 옵셔널(Optional), 옵셔널 바인딩(Optional Binding), 옵셔널 체이닝(Optional Chaining)
옵셔널(Optional) 옵셔널이란 간단하게 생각하면 어떤 상수나 변수로 선언된 타입(String, Int...)에 nil값이 있을 수도 있다는 조심스러운 기능이다. 조심스러움을 알 수 있는 한 예로 타입의 뒤에 ?를 넣어서 표현해준다. var nickname: String? var age: Int? 조금 더 명확하게 써주려면 var nickname: Optional 도 가능하다. 그러나 ? 하나만 써주는게 간단하고 편하다. 그러면 이런 옵셔널을 우리는 왜 굳이 사용해야 할까? 변수나 상수에 꼭 nil이 있을거라고 가정해야할 필요가 있을까. 그 이유는 다음과 같은 예로 생각하면 쉬울 것 같다. 가령 우리가 어떤 함수를 만들었다고 가정해보자. 해당 함수에는 매개변수가 있을 것이고 매개변수를 통해 우리는 외..
2021.10.14