HIT해
[Swift 기초문법 - 3] enum 케이스 나누기 본문
728x90
import UIKit
enum Animal {
// case dog
// case cat
// case bird
case dog, cat, bird
}
// 값이 변경되지 않는 상수
let pet = Animal.bird
print("My pet is",pet)
print로 출력할 변수가 하나라면 위의 방법처럼 만들어도 된다!
결과화면
값을 가지고 있는 enum 사용하기!
import UIKit
enum Number : Int {
case first = 1
case second = 2
}
print("첫번쨰 출력",Number.first)
print("두번째 출력",Number.second.rawValue)
이때 enum타입의 값을 지정해주지 않으면 rawvalue ( Int값들 )를 가질 수 없다!
결과화면
enum은 값을 가지고 있고 가지고 있는 그 값의 값에 접근하기 위해서는 rawvalue를 사용하면 된다!
enum의 값을 나중에 할당받아서 사용하는 방법이다!
import UIKit
enum Food {
case chicken(name:String)
case pizza(name:String)
case count(num:Int)
}
let tmp = Food.chicken(name: "양념치킨")
let subtmp = Food.count(num: 5)
print("\(tmp) : \(subtmp)")
case에 enum명과 ( 매개변수명 : 타입 ) 을 선언해주고 사용할때는 위와같이 사용하면 된다!
결과화면
그런데 우리는 rawValue만 보고싶은데 enum명과 매개변수명까지 보인다.
enum에 함수를 선언해주면 해결된다!
enum Food {
case chicken(name:String)
case pizza(name:String)
case count(num:Int)
// String형태로 반환하겠다!
func getRawValue() -> String{
// 위에 선언해둔 case들에 대한 모든 경우를 작성해주어야한다.
switch self {
// let을 매개변수 앞 또는 case 뒤에 붙여줘야한다
case .chicken(let name):
return name
case let .pizza(name):
return name
case .count(let num):
return "\(num)"
}
}
}
let tmp = Food.chicken(name: "양념치킨")
let subtmp = Food.count(num: 5)
print("\(tmp.getRawValue()) : \(subtmp.getRawValue())")
결과화면
'Swift > Swift 기초문법' 카테고리의 다른 글
[Swift 기초문법 - 5] Unwrap 옵셔널 변수 (0) | 2024.07.09 |
---|---|
[Swift 기초문법 - 4] For 반복문 (0) | 2024.07.09 |
[Swift 기초문법 - 2] foreach 반복문 (0) | 2024.07.09 |
[Swift 기초문법 - 1] 조건문 (0) | 2024.07.09 |
[Swift 기초문법 - 0] 기초다지기 시작 (0) | 2024.07.09 |