티스토리 뷰
안녕하세요 Hani입니다.
뭐 하나 깊게 공부하려 하니 결국 최상위 클래스인 NSCoder를 알아야겠더라구요 🥺
required init?(coder aDecoder: NSCoder)
required init?(coder: NSCoder)
커스텀 뷰 만들거나 인코딩 디코딩 할 때 이런 거 정말 많이 봤죠?
요기 있는 NSCoder를 말한 거예욥.
NSCoder는 다른 객체의 아카이빙과 배포를 가능하게 만들어 주는 객체를 위한 추상 클래스입니다.
음?
그럼 다른 객체의 아키이빙과 배포를 가능하게 만들어 주는 구체적인 타입은 뭔데 😡
Foundation 프레임워크에서는
NSCoder를 서브클래싱한 NSKeyedArchiver, NSKeyedUnarchiver같은 타입을 제공해주고 있어요.
그리고 NSCoder의 서브클래스는 coder class라고 불리는데
이 서브클래스의 인스턴스는 coder object, 줄여서 coder라고 부릅니다.
(여기서 디코딩만 되는 coder는 decoder, 인코딩만 되는 coder는 encoder)
암튼.. NSKeyedArchiver, NSKeyedUnarchiver의 슈퍼클래스가 NSCoder인 줄 몰랐어요. 🥺
이놈들이 coder구나.
그러니까 인코딩을 예로 들면
NSCoder는 다른 객체의 아카이빙과 배포를 가능하게 만들어 주는 객체를 위한 추상 클래스입니다. <- 에서
다른 객체는 내가 인코딩 하고 싶은 객체고
객체는 NSKeyedArchiver의 인스턴스
추상 클래스는 NSCoder.
라고 할 수 있겠네욥 ☺️
위에서 언급한 메서드는 NSCoding 프로토콜을 준수하기 위해 구현해야 하는 메서드예요.
다음 포스팅에서 소개해드리겠습니당
References
https://developer.apple.com/documentation/foundation/nscoder
https://developer.apple.com/documentation/foundation/nskeyedarchiver
https://developer.apple.com/documentation/foundation/nskeyedunarchiver
'iOS' 카테고리의 다른 글
[iOS] Object Graph와 Archive 정리 (0) | 2021.12.08 |
---|---|
[iOS] NSCoding 정리 (0) | 2021.12.07 |
[iOS] About the App Launch Sequence 정리 (0) | 2021.11.19 |
[iOS] About the UI Restoration Process 정리 (0) | 2021.11.13 |
[iOS] HTTP 통신 허용하기 (0) | 2021.09.30 |
- Total
- Today
- Yesterday
- 강한 순환 참조
- MeTal
- 벨만포드 알고리즘
- 코딩대회
- WWDC21
- 컴퓨터 추상화
- 에드몬드 카프 알고리즘
- HIG
- CPU와 Memory
- WWDC19
- Testable
- 최단경로 문제
- 네트워크 플로우
- 부스트캠프 6기
- IOS
- 포드 풀커슨 알고리즘
- State Restoration
- WWDC17
- 최단경로 알고리즘
- rxswift
- 최대 매칭
- WWDC16
- test coverage
- 다익스트라 시간복잡도
- 네트워크 유량
- 최단경로문제
- observeOn
- CompositionalLayout
- 벨만포드 시간복잡도
- mach-o
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |