Swift/기초 카테고리에 업로드한 모든 내용은 KxCoding 기초 강의를 토대로 작성하였습니다.
⎮ Enumeration (열거형)
- 열거형 : 연관되어 있는 상수(Enumeration Case)들을 하나의 Type으로 묶은 Type
- 구조체와 Class보다는 제한적인 상황에서 사용
- 코드의 가독성이 높아지고, 안정성이 높아짐
1. 열거형 문법
enum TypeName {
case caseName
case caseName, caseName
}
/*
열거형의 이름은 UppercamelCase로 작성
{}에는 1개 이상의 enumeration case 작성
case 이름을 선언할 때는 lowerCamelCase로 작성, 이름은 중복될 수 없음.
여러 case를 한번에 선언하고 싶을 때는 ','를 써서 사용해도 됨
열거형 안에도 생성자, method 등을 추가할 수 있으나 대부분 사용하지 않음.
열거형 case는 독립적인 값
*/
// 문단 정렬 예시
enum Alignment {
case left
case center
case right
}
Alignment.center
// 생성자 문법 : enumeration name.case name
var textAlignment = Alignment.center
textAlignment = .left
/*
textAlignment에 열거형을 저장했기 때문에 컴파일러가 인식할 수 있음.
오타를 내거나 case 외의 값을 작성하면 에러가 나기 때문에 안정성이 확보됨
*/
⎮ 코드 개선하기
1. 가독성이 좋지 않은 코드
//가독성이 좋지 않은 코드
/*
왼쪽 정렬 0
가운데 정렬 1
오른쪽 정렬 2
*/
let left = 0
let center = 1
let right = 2
var alignment = center
/*
이 코드에서 주석이 만약 없다면 코드를 이해할 수 없음
또한 left의 값에 123을 저장해도 에러가 발생하지 않기 때문에, 안정성이 떨어지는 코드임
*/
2. 값을 바꿔 가독성 높이기
let left = "left"
let center = "center"
let right = "right"
var alignment = center
/*
문자열으로 설정하면 오타가 발생할 수 있고,
대소문자를 구분하기 때문에 어떻게 표기할지 정해야함
*/
3. 열거형을 사용하여 안전성 높이기
enum Alignment {
case left
case center
case right
}
4. 생성자 문법으로 인스턴스 만들기
Alignment.left
// 생성자 문법 : enumeration name.case name
5. 새로운 변수를 만들어 저장, 값 바꿔보기
var textAlignment = Alignment.center
textAlignment = .left
/*
값을 바꿀 때 열거형 이름을 생략하고 열거형 케이스(.case)만 써도 됨
textAlignment에 열거형을 저장했기 때문에 컴파일러가 인식할 수 있음
오타를 내거나 case 외의 값을 작성하면 에러가 나기 때문에 안정성이 확보됨
*/
'Swift > 기초' 카테고리의 다른 글
35. 스위프트 기초 문법[Modeling(1) - 모델링 기초와 다양한 속성들] (0) | 2025.02.11 |
---|---|
34. 스위프트 기초 문법[Type(3) - 클래스, 열거형 활용] (0) | 2025.02.07 |
32. 스위프트 기초 문법[Type(1) - Class & Structure] (0) | 2025.02.07 |
31. 스위프트 기초 문법[계산기(10) - 함수 표기법, View Animation] (0) | 2025.02.06 |
30. 스위프트 기초 문법[계산기(9) - 문법 최적화] (0) | 2025.02.04 |