스파르타 코딩 클럽 - 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