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

⎮ 튜플
1. 튜플 문법
// Tuple : ()로 감싸져서 값이 2개 이상 나열된 Type
let a = (1, 2, "3")
let a: (Int, Int, Int) = (1, 2, 3)
let b = ("문자열", 123, 123.0)
print(b.0)
문자열
// 튜플 값은 바꿀 수 있지만 값의 Type을 바꿀 수는 없음
var b = ("문자열", 123, 123.0)
let str = b.0
b.0 = "새로운 문자열"
b.0 = 1 // 오류 발생 : Cannot assign value of type 'Int' to type 'String'
// Unnamed Tuple : 이름이 없는 튜플, 이름이 없기 때문에 인덱스로 접근해야 함
// Named Tuple : 이름이 있는 튜플
⎮ 배열
1. 배열 문법
// 배열(array) : []로 감싸져서 동일한 Type의 값이 2개 이상 나열된 Type
let a = [1, 2, 3]
// 배열은 반드시 동일한 Type의 값만 저장해야 함
⎮ 색상을 가져오는 Method 만들기
1. 코드 추가
func getColors(from number: Int?) -> (UIColor, UIColor) {
}

2. 숫자에 따라 색을 바꾸는 switch문 위치를 method에 붙여넣기

3. 파라미터(sortedNums[index])를 number로 바꾸기 * 값을 비교하려면 Int?는 반드시 unwrapping을 해야함

4. guard문을 사용하여 Unwrapping * 함수에 Return 값이 있기 때문에, 맞춰줘야 함.

5. switch문 수정

6. 메소드를 호출하는 값 추가 * getColors의 0번(backgroundColor)과 1번(textColor) 리턴값을 받음

7. 코드의 가독성을 높이기 위해 Unnamed Tuple에 이름을 설정하는 코드로 수정
// Unnamed Tuple : 이름이 없기 때문에 Index로만 호출 가능
func getColors(from number: Int?) -> (UIColor, UIColor) {
}
// Named Tuple : 이름이 있고, 이름과 Index 둘다 호출 가능
func getColors(from number: Int?) -> (backgroundColor: UIColor, textColor: UIColor) {
}

8. Index로 호출하던 코드를 Name으로 호출 (둘다 가능해서 상관은 없음)

9. 보너스 번호 코드 수정
let colors = getColors(from: nil)
// 번호와 상관없이 컬러가 일정하기 때문에 parameter에 nil을 전달


⎮ Method를 호출한 뒤 값에 접근하는 방식의 차이
1. Method를 호출하고, 바로 값에 접근하는 경우 : Method는 2개를 리턴하는데 Method를 전부 활용하지 못하고 하나는 버린 것.
2. Method를 상수에 저장한 다음 값에 접근하는 경우 : Method를 상수에 저장하고 하나씩 꺼내 쓰는 것.
(1번의 경우에 중복다운로드를 하게 만들 수 있기 때문에, 코드를 작성할 때 효율성을 고려하면 좋음)

'Swift > 기초' 카테고리의 다른 글
| 28. 스위프트 기초 문법[계산기(7) - Closure] (0) | 2025.02.03 |
|---|---|
| 27. 스위프트 기초 문법[로또(6) - 정렬과 회전] (1) | 2025.02.02 |
| 25. 스위프트 기초 문법[날씨(5) - 코드 개선, 레퍼런스 보는 방법] (0) | 2025.02.01 |
| 24. 스위프트 기초 문법[날씨(4) - Return, 함수 호출] (1) | 2025.02.01 |
| 23. 스위프트 기초 문법[로그인(4) - UX 개선] (0) | 2025.01.30 |