Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Git
- PhotoKit
- UIBezierPath
- Hashable
- NSAttributedString
- AVFoundation
- IOS
- MVP
- 에어팟
- UIDynamicAnimator
- Stanford cs193p
- weak
- JSONEncoder
- UIDocumentBrowserViewController
- reactivex
- unowned
- uicollectionview
- Swift
- UIGestureRecognizer
- CoreGraphics
- JSONDecoder
- rxswift
- Observable
- Singleton Design Pattern
- 오늘의성취도
- CustomStringConvertible
- UIDocument
- Codable
- Equatable
- Arc
Archives
- Today
- Total
아직은 개린이
[Swift] CustomStringConvertible 본문
애플 공식 문서에 보면,
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 |