스파르타 코딩 클럽 - iOS 스타터 6기/본 캠프
31. 스파르타 코딩 클럽 - CoreData와 UserDefaults
seongpil Heo
2025. 4. 15. 17:17
CRUD 개념
🧑💻 CRUD (Create, Read, Update Delete) 란?
일반적인 개발론에서 CRUD라는 용어는 자주 사용합니다. 뜻은 다음과 같습니다.
- Create = 데이터 생성
- Read = 데이터 읽기
- Update = 데이터 업데이트 (쓰기)
- Delete = 데이터 삭제
전화번호 앱에서 일어나는 CRUD 에 대해 생각해 봅시다.
- C = 새로운 전화번호를 등록한다.
- R = 저장된 전화번호 데이터를 조회한다.
- U = 저장된 전화번호를 수정한다.
- D = 전화번호를 삭제한다.
데이터 CRUD는 네이티브 (앱) 내부에서도 일어날 수 있고, 서버에서도 일어날 수 있습니다.
CoreData
🧑🏻💻 CoreData 란?
- CoreData는 앱에서 기기의 디스크에 데이터를 읽고 쓸 수 있게 돕는 프레임워크.
- Swift로 기기 내 디스크에 데이터를 저장할 수 있는 대표적인 방법으로는 CoreData와 UserDefaults 가 있음.
- CoreData로 기기의 디스크 공간에 전화번호를 저장하는 방법을 공부해 봅시다.
Core Data | Apple Developer Documentation
Persist or cache data on a single device, or sync data to multiple devices with CloudKit.
developer.apple.com
UserDefaults
🧑🏻💻 UserDefaults 란?
- UserDefaults 또한 디스크에 데이터를 저장할 수 있게 돕는 도구.
- CoreData 보다 사용성이 간단.
- key와 value를 이용해서 값을 저장.
- 대량의 데이터를 담는 데에는 CoreData 가, 비교적 단순한 데이터를 담는 데에는 UserDefaults 가 적절.
UserDefaults의 CRUD
- UserDefaults.standard.set() 메서드를 통해서 Create, Update
- UserDefaults.standard.string(forKey: "") 메서드를 통해서 Read (각 타입에 맞는 메서드사용)
- bool 타입 Read: UserDefaults.standard.bool(forKey: "")
- Int 타입 Read: UserDefaults.standard.integer(forKey: "")
- UserDefaults.standard.removeObject(forKey: "") 메서드를 통해서 Delete
UserDefaults | Apple Developer Documentation
An interface to the user’s defaults database, where you store key-value pairs persistently across launches of your app.
developer.apple.com