Nested type
Updated:
🔷 Nested type
struct MyPet {
enum Kind { // struct 안에 enum 타입
case cat // kind enum 안의 case
case dog
// enum 은 value 와 name 이라는 변수를 가지고
var value: String {
switch self { // 자신의 타입에 따라 값이 부여
case .cat:
return "고양이"
case .dog:
return "강아지"
}
}
var name: String {
switch self {
case .cat:
return "개냥이"
case .dog:
return "멍멍이"
}
}
}
let kind: Kind // MyPet struct 가 가지는 kind 라는 변수
var description: String { // 값 확인을 위한 변수
return "우리집 \(kind.value) '\(kind.name)' 입니다"
}
}
let myCat = MyPet(kind: .cat)
print(myCat.description) // 우리집 고양이 '개냥이' 입니다
let myDog = MyPet(kind: .dog)
print(myDog.description) // 우리집 고양이 '멍멍이' 입니다
Reference
Swift Tip of the day - 스위프트 기초 문법 - https://spangle-wedelia-2dc.notion.site/Swift-Tip-of-the-day-c428bfd990674bcfa2a4973e5d08c4eb
꼼꼼한 재은 씨의 스위프트 문법편 - https://book.jacobko.info/#/book/1186710233
Leave a comment