CoreData
코어데이터? 음,,, 코카콜라는 아는데
이게 뭐지?
.
.
.
Core Data
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
이게 Core Data 내부 모습이다.
Q -> "NSManagedObject"가 뭐예요?
-> Core Data 프레임워크에서 관리되는 객체를 나타내는 기본 클래스임.
이 클래스는 Core Data 엔티티와의 상호작용을 관리하며, 속성 값의 저장 및 검색을 처리
Create, Read
Update, Delete
Q -> format: "name == %@"은 처음보는데 무슨 의미인가요?
- "name": 필터링할 속성의 이름. 지금 경우에는 Entity의 'name' 속성을 가리킴.
- "==": 비교 연산자. 현재 'name'속성의 값이 특정 값과 같은지 확인
- "%@": 자리 표시자(Placeholder). 문자열 형식의 값이 들어갈 자리
정리하면, format: "name == %@"은 속성의 값이 currentName 변수의 값과
동일한 엔티티를 찾는 조건을 의미 함
이렇게 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 |