본문 바로가기
개린이 이야기

2022년 03월 07일의 이야기

by iOS 개린이 2022. 3. 7.

1. 스위프트 딥 다이빙(옵셔널 바인딩, 체인 및 nil 결합 연산자)

-옵셔널에 대해서 다시 복기해보자면, 옵셔널은 ' ? ' 를 통해서 표현하는데 그 의미는 " 이 변수에는 값이 들어갈 수도 있고, 아닐 수도 있다. " 로 nil을 표현하기 위한 수단으로 사용하는 것이다. 

-스위프트에서는 기본적으로 변수 선언 시에 nil값이 들어가는 것을 허용하지 않는다. 그래서 nil은 옵셔널 변수 이외에서 사용할 수 없다. 

-옵셔널은 기본적으로 wrap되어 있는 상태이다. 옵셔널로 선언된 변수들은 값이 있는지 nill인지 wrap 상태이기 때문에 모른다.  ex) var optional : string? = "hello"   print( optional )  //출력은 optional( "hello" )

올바르게 출력 하기 위해서는 옵셔널 변수 뒤에 !를 붙여서 옵셔널을 unwrap 해주는 것이다. 

 

-옵셔널 바인딩은 옵셔널 타입으로 선언된 변수에 값이 있는지 없는지를 확인할 수 있도록 해주는 기능이다. 옵셔널 바인딩을 사용하면 느낌표 없이도 옵셔널 타입의 변수 값을 출력할 수 있어서 안전한 형태로 값을 얻을 수 있다.

ex) if let papapo = optional papapo {  // 임시 변수에 옵셔널 변수의 value 값이 할당됩니다. }

  

                              출처:  Swift Optional (1). Optionals 기본 개념 | by 홍창남(Hong, Chang Nam) | Medium

 

-nil coalescing operator을 사용하면 옵셔널 변수에 값이 있는 지 없는 지 확인하고 꺼낼 필요가 없어진다. 예를 들면

 ex) myOptional = nil 

      let text : string = myOptional ?? "i am the default value."

      print( text )   //출력값은 i am the default value. 

??를 두개 붙임으로써 변수 text는 myOptional의 값이 nil이 맞다면 " i am the default value. "가 인쇄가 되고, 만약 myOptional의 값이 존재한다면 그 값이 출력된다. 

?? 오른쪽의 피연산자는 보통 값이 없을 때 사용할 default를 정의한다.

 

-optional chaining의 사용방법은 optional?.property 와 optional?.method( ) 이다. 여기서 옵셔널의 값이 존재한다면 property나 메서드를 실행한다. 

 

2. 연습에서 선택 사항 사용 및 컬러 리터럴과 마무리 터치 추가

-

'개린이 이야기' 카테고리의 다른 글

2022년 03월 15일의 이야기  (0) 2022.03.15
2022년 03월 10일의 이야기  (0) 2022.03.11
2022년 03월 05일의 이야기  (0) 2022.03.05
2022년 03월 04일의 이야기  (0) 2022.03.04
2022년 03월 03일의 이야기  (0) 2022.03.03