Apple🍎/CoreData
-
Core Data Context 이해와 활용 - 심화Apple🍎/CoreData 2024. 1. 15. 16:54
그냥 Store에 저장하지 뭐하러 Context에다가 임시로 저장을 하냐? 데이터를 저장하거나 변경할 때 Store에 바로 하지 않고 Context에 먼저 임시로 해본 뒤에 save를 호출해야 해당 내용들이 Store에 반영된다. 뭐하러 Context를 Scratch Pad로 사용을 할까? 그냥 바로 Store에다가 꽂아버리면 안되는 이유가 뭘까? Core Data는 그냥 데이터만 저장하는 게 아니다. 앱의 로직과 맞물려서 돌아가다가 의도한 로직에 맞지 않으면 해당 내용은 Store에 반영하면 안된다. 따라서 앱이 돌아가면서 데이터의 변경이 일어날 때 이것들을 Context에 임시로 저장해 놓았다가 모든 로직에 오류가 없는 것을 확인한 이후에서야 Store에 반영한다. Multiple Main Cont..
-
Core Data Context 이해와 활용 - 기본Apple🍎/CoreData 2024. 1. 11. 02:24
Context가 뭐냐? Context는 Core Data Stack에서 제일 위에 있는 레이어이다. Context는 Application Model의 코드와 persistent store, data model을 연결하는 역할을 한다. Context를 사용하여 엔티티들을 저장 및 변경한다. 객체를 엔티티로서 DB에 저장 및 변경하기 위해서는 해당 객체는 특정 Context에 속해 있어야 한다. 왜냐하면 Context는 DB로부터 객체를 fetch하는 것 뿐만아니라 자신에게 속해 있는 객체를 추적 및 변경감지 역할을 수행하기 때문이다. Context가 하는 일 새로운 엔티티 만들기 엔티티 fetch 하기 (DB로부터 가져오기) 엔티티 변경 감지하기 유효성 검사 undo / redo 동작 핸들링 persist..
-
데이터 모델 개념을 기초로 엔티티와 클래스 관계 알아보기Apple🍎/CoreData 2024. 1. 9. 00:53
Entity와 Attribute는 대응하는 Class와 Property가 생긴다. 보통 Core Data의 엔티티와 엔티티의 속성을 설정할 때는 Code Data Model Editor를 사용해왔다. 여기서 Entity를 설정하면 실제 코드로는 어떻게 구현되는 것일까? Generated Classes 데이터 모델안에서 엔티티와 속성이 어떻게 구성되는지 간단히 말하면 Editor에서 설정한 엔티티와 속성에 대응하는 클래스와 프로퍼티가 코드로 생성된다. How Is your Data Model Really Created. Core Data Editor를 사용하여 엔티티와 속성을 만들면 데이터 모델은 정적이고 (컴파일 타임에 이미 모두 정해지고) 런타임에는 더이상 건들지 못한다고 생각할 수 있지만 Core D..
-
Core Data 뜯어 보기Apple🍎/CoreData 2024. 1. 4. 15:06
Core Data가 뭔가? Core Data stack은 무엇이고 왜 stack이라고 부르는가? Core Data stack은 어떤 부분들로 구성되어있나? 어떻게 persistent container는 작업을 간단히 만들어주나? Xcode는 어떻게 CoreD Data를 위한 Stack을 만들고 이로부터 어떤걸 알 수 있는가? 그래서 Core Data가 뭔데? According to Apple Use Core Data to save your application’s permanent data for offline use, to cache temporary data, and to add undo functionality to your app on a single device. To sync data acro..
-
엔티티와 컨텍스트Apple🍎/CoreData 2024. 1. 2. 14:21
Tstory 나 Naver Blog같은 블로그 어플리케이션을 만든다 해보자.블로그의 주요 기능은블로그 운영자는 글을 작성해 ‘포스트’를 발행한다.블로그 방문자는 ‘포스트’를 읽고 해당 ‘포스트’에 ‘코멘트’를 단다.제일 중요한점은 사용주체(운영자, 방문자)의 활동결과(포스트,코멘트)가 어딘가에 저장되어야한다는 것이다. 이렇게 비즈니스(여기서는 블로그)에서 사용되는 객체들 중에서 ‘저장’ 할 필요가 있는 객체들을 엔티티라고 부른다. Entity 란?데이터베이스는 데이터를 체계화해서 저장할 수 있는 시스템으로 이곳에 저장될 때 제일 중요한점은 저장되는 데이터 간에 ‘구분’이 되어야한다는 것이다. 예를 들어 2번째 포스트를 불러와줘하고 요청을 받았는데 정작 데이터베이스가 저장되어 있는 포스트 중에 2번째 포스..