티스토리 뷰

반응형

 

 


Framework
CoreData

코어데이터(CoreData)는 iOS 프레임워크 중 하나로, 단일 기기 상에서의 데이터 저장, 유지, 실행 취소 등의 작업을 지원하는 프레임워크입니다.

코어데이터 프레임워크는 iOS 3.0 / macOS 10.4 / watchOS 2.0 버전 이상에서 지원하고 있습니다.

 

 


Overview
개요


어플리케이션 내에서 영구적으로 관리하고 싶은 데이터, 오프라인상태에서도 유지하고 싶은 데이터가 있다면, CoreData 프레임워크를 사용할 수 있습니다. 또한 코어데이터(CoreData) 프레임워크를 사용하면 단일기기에서 임시데이터 관리, 영구데이터 관리, 실행 취소 등의 기능을 사용할 수 있습니다. 

코어데이터(CoreData)의 데이터 모델 편집기(Data Model editor)를 통해서, 관리하고자 하는 데이터타입들과 그들의 관계를 정의할 수 있습니다. 또한 각각의 클래스 정의를 생성할 수도 있습니다. 

코어데이터(CoreData)는 런타임 과정에서 객체 인스턴스들을 관리할 수 있게 해주는데요. 그 기능에 대해서 알아보겠습니다. 

 

 


데이터 지속 관리


코어데이터(CoreData)는 저장하기 위한 당신의 객체들에 대한 맵핑된 상세사항들을 추상화해줍니다. 또한 데이터들을 Swift, Objective-C언어로부터 저장하기 쉽게 만들어줍니다. 직접적인 데이터베이스 관리 없이도 말이죠. 🤩

 

 


데이터 변경사항에 대한 실행취소/재실행 기능


코어데이터(CoreData)의 실행 취소 관리자(undo manager)는 데이터 변화를 추적하고, 개별적/그룹/전체적인 롤백(실행취소)를 할 수 있도록 지원합니다. 이로써 당신의 앱 내에서 데이터 변화의 적용, 적용 취소를 편하게 관리할 수 있습니다. 

 

 

 


백그라운드 상의 데이터 작업 지원


JSON을 객체로 파싱하는 등의 잠재적 UI-Blocking(UI 동작을 방해할 수 있는) 데이터 작업백그라운드에서 동작하게 해줍니다.
그 후 얻게되는 결과들을 캐싱, 저장해서 불필요한 서버 작업이 일어나지 않도록 할 수 있습니다. 

 

 


뷰 동기화


코어데이터(CoreData)는 테이블뷰 / 컬렉션뷰 등의 UI에게 섹션, 행, 열, 아이템을 관리해주는 데이터 소스(DataSource)를 제공함으로서 뷰와 데이터가 동기화되도록 해줍니다. 

 

 


버전 관리 및 데이터 이전 기능


코어데이터(CoreData)는 데이터모델의 버전관리, 버전 업데이트에 따른 유저 데이터의 이전등을 할 수 있도록 지원합니다. 

 

 


Singleton 등을 사용해서 앱 실행 간, UserDefaults를 활용해서 백그라운드 상에서의 데이터 유지가 가능하지만, 보다 체계적인, 복잡한 구조의 데이터 관리가 있을 수록 관리 상 비효율 적인 동작을 수행하는 단점이 있습니다.

userDefaults를 통해 plist에 데이터를 저장하는 방식은 어떤 변화가 발생했을때 변화가 있는 데이터 이외 전체적인 갱신이 일어날 수 있기 때문입니다.

그렇기에 데이터에 대한 보다 효율적인 관리가 가능한 CoreData에 대한 관심을 가지고, 조금씩 사용해봐야겠다는 생각이 듭니다.

오늘은 iOS CoreData의 코어데이터 개요, 지원기능에 대한 개발자 문서를 읽어보았습니다. 🤗
담에도 기회되면 CoreData 사용 관련 포스팅을 해보겠습니다. 즐거운 하루 되세요 ^-^//

 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함