일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 도약연계
- 조립 후 재부팅
- 도약전환
- 플러터 #안드로이드 #플레이콘솔 #앱내리기
- flutter #dart #stream
- Flutter #Stream #dart
- 청년도약계좌환승
- 희망적금전환
- 안드로이드 #코틀린 #코루틴 #콜백 #채널
- 희망적금연계
- 도약계좌전환
- Flutter #Stream
- Today
- Total
Flutter 개발 상자
스위프트 기초 문법 - 5일차 / Unwrap 옵셔널변수 본문
좀 난해한... 첫번째 고비인 문법같다.
옵셔널이란 값이 있는지 없는지 모른다는거다.
일단 nil 이라는것부터 짚고 넘어가자면 null과 동일한 표현이라고 한다.
그렇다면 옵셔널이라는건 코틀린의 nullable과 비슷하다고 볼수도 있겠다.
if let 문법이란? 언랩핑을 해주는 구문으로써
ohterVariable 변수에 래핑변수인 someVariable을 넣을 수 있으면 if구문을 실행하라는 것이다.
else구문은 생략해도 되고, if문 밖에서 otherVariable변수에 접근할 수 없다.
다음은 또다른 언래핑 방식인 guard let 방식이다.
if let과는 다르게 무조건 else구문이 들어가야 하며 else구문에는 return과 같은 상위 코드블록을 종료하는 키워드가 들어가야한다.
그렇기 때문에 특정 코드 블록내에서만 사용 가능하고 메인 코드블록에서는 사용이 불가능하다.
guard let의 장점은 특정 블록내에서 계속 지역변수로 사용이 가능하다는 점이다.
일단 어느정도 이해는 했는데 이걸 왜쓰지? 라는 의문이 좀 남는다.
그리고 언래핑이라는 방식 자체가 너무 비효율적이라는 생각이 든다.
코틀린에서는 ?를 붙여서 안전하게 해당 변수의 메소드를 실행하거나
let을 통해서 간단하게 널체크를 하고 사용할 수 있다.
하지만 스위프트는 언래핑이라는 다소 귀찮은 작업을 해주어야 하고 저 작업을 해주지 않으면
Int? 타입은 아예 연산을 못한다던지 하는 일반적인 변수타입의 기능을 상실해버린다.
일단 이부분은 잘 기억했다가 어떻게 활용되는지 나중에 잘 봐야겠다.
'개인공부 > IOS공부' 카테고리의 다른 글
스위프트 기초 문법 - 7일차 / 프로퍼티 옵저버 (1) | 2022.01.13 |
---|---|
스위프트 기초 문법 - 6일차 / 클래스 vs 스트럭트 (0) | 2022.01.12 |
스위프트 기초 문법 - 4일차 / for 반복문 (1) | 2022.01.10 |
[스윗한 SwiftUI] 02장 뷰 구성하기 - 1 (2) | 2022.01.09 |
[스윗한 SwiftUI] 01장 Hello, WsiftUI (0) | 2022.01.08 |