Swift/기초 카테고리에 업로드한 모든 내용은 KxCoding 기초 강의를 토대로 작성하였습니다.

⎮ 레퍼런스
1. alt + 클릭해서 레퍼런스 보기

⎮ nil 병합 연산자 (nil coalescing operator)
1. nil coalescing operator 문법
// nil coalescing operator
a ?? b // 여기서 a는 항상 optional 표현식, 만약 a에 nil이 저장되어 있다면 b를 리턴함
// a와 b는 항상 같은 Type이여야함
// a에 값이 저장되어 있으면 a를 unwrapping해서 Return, a에 nil이 저장되어 있다면 b를 Return
let name: String? = "Kxcoding"
print(name)
Optional("Kxcoding")
let name: String? = "Kxcoding"
print(name ?? "회원님") // nil coalesing operator을 사용하면 추출이 된 값이 return됨.
Kxcoding
let name: String? = nil
print(name ?? "회원님") // nil이 저장되어 있을 때는 ?? 우측의 값이 기본 값으로 사용됨
회원님
⎮ 코드 개선하기
1. 랜덤 날씨를 불러오는 코드로 수정
let weather = "맑음"
let weather = ["맑음", "흐림", "눈", "비"].randomElement()
/*
.randomElement는 optional Type을 return하기 때문에,
weather이 String이 아니라 String? Type으로 바뀜
*/

2. 강제추출을 사용해도 문제는 없음 * 여기서 가능한 이유는, 4개 중의 하나의 값을 반드시 리턴할 것이기 때문

* 그러나 app store에 출시하는 앱은 강제추출을 하지 않는 것이 안전함
3. 배열에 값이 저장되어 있지 않으면, 기본 값으로 "맑음"을 return하도록 nil coalescing operator 문법 사용

4. 날씨도 랜덤 값을 불러오도록 수정, 코드 위치 정리

'Swift > 기초' 카테고리의 다른 글
| 27. 스위프트 기초 문법[로또(6) - 정렬과 회전] (1) | 2025.02.02 |
|---|---|
| 26. 스위프트 기초 문법[로또(5) - 튜플] (0) | 2025.02.02 |
| 24. 스위프트 기초 문법[날씨(4) - Return, 함수 호출] (1) | 2025.02.01 |
| 23. 스위프트 기초 문법[로그인(4) - UX 개선] (0) | 2025.01.30 |
| 22. 스위프트 기초 문법[계산기(6) - 경고창, 함수] (0) | 2025.01.30 |