티스토리 뷰
안녕하세요 Hani입니다.
이번에는 NSCoding에 대하여 알아볼 거예요.
NSCoding은 아카이빙과 배포를 위해 객체가 Encode/Decode 될 수 있도록 만드는 프로토콜이에요.
여기서 아카이빙은 객체와 객체간의 관계를 나타내는 Object Graph를 archive라는 파일로 만드는 작업이구
배포는 객체를 객체를 다른 주소 공간에 복사하는 작업입니다.
아무튼.. Encode/Decode에 초점을 맞춰보면
func encode(with: NSCoder)
init?(coder: NSCoder)
프로토콜을 준수하기 위해 두 가지 메서드를 필수적으로 구현해야 하는데욥.
encode는 주어진 Archiver에 객체(self)의 인스턴스 변수를 encode 하는 메서드입니다.
이 메서드는 여러 번 호출될 수 있어요.
init은 주어진 Unarchiver의 데이터를 decode 하여 객체(self)를 초기화하는 메서드입니다.
이 메서드는 객체 당 한 번만 호출되구용.
두 메서드를 구현하면 NSCoding 프로토콜의 목적인 객체의 Encode/Decode이 가능해집니다. ☺️
매개변수 NSCoder와 Archiver/Unarchiver 사이의 관계는 여기에서 확인하실 수 있어용.
References
https://developer.apple.com/documentation/foundation/nscoding
'iOS' 카테고리의 다른 글
[iOS] Core Animation Programming Guide (1) Core Animation Basics (2) | 2022.02.18 |
---|---|
[iOS] Object Graph와 Archive 정리 (0) | 2021.12.08 |
[iOS] NSCoder 정리 (0) | 2021.12.07 |
[iOS] About the App Launch Sequence 정리 (0) | 2021.11.19 |
[iOS] About the UI Restoration Process 정리 (0) | 2021.11.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- mach-o
- WWDC17
- IOS
- 포드 풀커슨 알고리즘
- Testable
- WWDC21
- CPU와 Memory
- 최대 매칭
- 강한 순환 참조
- observeOn
- 에드몬드 카프 알고리즘
- MeTal
- 최단경로 알고리즘
- test coverage
- HIG
- WWDC19
- 벨만포드 시간복잡도
- 벨만포드 알고리즘
- rxswift
- 최단경로 문제
- WWDC16
- 컴퓨터 추상화
- CompositionalLayout
- 네트워크 유량
- 네트워크 플로우
- State Restoration
- 최단경로문제
- 부스트캠프 6기
- 코딩대회
- 다익스트라 시간복잡도
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함