아직은 개린이

[Swift] CustomStringConvertible 본문

Swift + iOS/Swift

[Swift] CustomStringConvertible

jiyeonlab 2020. 2. 10. 21:51

애플 공식 문서에 보면,

 

 

CustomStringConvertible은 텍스트적인 표현을 커스터마이즈하는 타입이라고 적혀있다.

 

공식 문서에 나온 예시를 보면, CustomStringConvertible 프로토콜을 정의하지 않고, 그냥 구조체를 출력하면 기본 표현으로 출력한다.

struct Point {
	let x: Int, let y: Int
}

let p = Point(x: 21, y: 30)

print(p)
// Prints "Point(x: 21, y: 30)"

 

하지만, CustomStringConvertible 프로토콜을 정의하면, 사용자가 정의한 형태로 출력이 되는 것을 확인할 수 있다.

extension Point: CustomStringConvertible {
	var description: String {
    	return "(\(x), \(y))"
    }
}


print(p)
// Prints "(21, 30)"

 

'Swift + iOS > Swift' 카테고리의 다른 글

[Swift] weak, unowned  (0) 2020.02.27
[Swift] ARC  (0) 2020.02.26
[Swift] lazy  (0) 2020.02.10