CoreData

코어데이터? 음,,, 코카콜라는 아는데

이게 뭐지?

 

.

.

.

 

Core Data

CoreData

Core Data는 애플의 프레임워크로 데이터 관리를 쉽게 할 수 있도록 도와주는 친구임

(앱에서 기기의 디스크에 데이터를 읽고 쓸 수 있게 돕는 프레임워크)

 

Swift로 기기 내 디스크에 데이터를 저장할 수 있는 대표적인 방법으로는

Core Data와 UserDefaults가 있음

 

Q: 어? '디스크'개념이면 약간 데이터베이스랑 비슷한 거 아닌가?

A: 데이터베이스와 유사하지만, 완전히 동일하지는 않다고 한다.

 

코어데이터의 본질은 라이프사이클, 검색, 영속성 기능을 가진 객체 그래프 관리자이다.

자세한 내용은 아래 링크 확인 고고

(https://www.letmecompile.com/코어데이터core-data와-데이터베이스의-차이/)

 

자, 그럼 찾아보니 CURD라는 것도 있던데? 이게뭐지

간단하게 CRUD가 무엇인지에 대해 알아보자구

 

이 친구는 말 그대로 다음과 같은 의미를 가지고 있음

Create = 데이터 생성

Read = 데이터 읽기

Update = 데이터 업데이트

Delete = 데이터 삭제

 

음.. 그래서

CoreData와 CRUD는 무슨 연관이 있는건데?

 

이 둘은 생각보다 밀접한 관계임

Core Data는 애플리케이션에서 데이터 모델을 관리하기 위한 프레임워크이고

CRUD 작업을 효율적으로 수행할 수 있도록 도와주는 친구임

 

아~ 그럼 Core Data는 CRUD를 간단하기 위한 메커니즘을 제공하기 위한 프레임워크구나~

Xcode로 한번 알아보자

 

 Core Data

Coredata 내부 구현

이게 Core Data 내부 모습이다.

 

Q -> "NSManagedObject"가 뭐예요?

 

-> Core Data 프레임워크에서 관리되는 객체를 나타내는 기본 클래스임.

이 클래스는 Core Data 엔티티와의 상호작용을 관리하며, 속성 값의 저장 및 검색을 처리


 

Create, Read

CRUD "C, R"

 

Update, Delete

CRUD "U"

Q -> format: "name == %@"은 처음보는데 무슨 의미인가요?

  1. "name": 필터링할 속성의 이름. 지금 경우에는 Entity의 'name' 속성을 가리킴.
  2. "==": 비교 연산자. 현재 'name'속성의 값이 특정 값과 같은지 확인
  3. "%@": 자리 표시자(Placeholder). 문자열 형식의 값이 들어갈 자리

정리하면, format: "name == %@"은 속성의 값이 currentName 변수의 값과

동일한 엔티티를 찾는 조건을 의미 함


 

 

CRUD 실행

 

결과

 

이렇게 Core Data에 대해서 알아봤음

다음 포스팅은 UserDefault에 대해서 알아보자구!!

'Swift' 카테고리의 다른 글

(CS) 네트워크 대비 지식쌓기 (2/2)  (0) 2024.07.12
Swift UserDefaults  (0) 2024.07.11
ARC와 MRC  (0) 2024.07.09
(CS) 네트워크 대비 지식쌓기 (1/2)  (0) 2024.07.07
Xcode 내 휴대폰 연동  (0) 2024.07.01