CustomStringConvertible 프로토콜
작성일
CustomStringConvertible 프로토콜
// CustomStringConvertible을 통해
// enum이나 struct, class 객체 등의 설명 변경이 가능하다.
enum Fruit: CustomStringConvertible {
case apple
case melon
// 디스크립션 정의
var description: String {
switch self {
case .apple: return "맛있는 꿀 사과가 왔어요~"
case .melon: return "맛있는 멜론이 왔어요~"
default: return "알 수 없음"
}
}
}
struct Pet: CustomStringConvertible {
var name: String
var description: String { return "우리집 강아지 \(name)"}
}
// 이처럼 프린트시 디스크립션으로 설정한 내용이 찍힙니다.
let myFruit = Fruit.apple
print("myFruit :", myFruit)
let myDog: Pet = .init(name: "똘똘이")
print("myDog: ", myDog)
출력
myFruit : 맛있는 꿀 사과가 왔어요~
myDog: 우리집 강아지 똘똘이