์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

Coredata CRUD ๋ฉ”์„œ๋“œ๋ฅผ ์–ด๋””์— ์œ„์น˜ ์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ข‹์€๊ฐ€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ

๋ณธ๋ฌธ

PhonebookView ์ปจํŠธ๋กค๋Ÿฌ์—์„œ read๋ฅผ ํ•˜๊ณ  updatephonebookview์—์„œ creat๋ฅผ ํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ๋‹ค.

 

์ด๋•Œ ์ฝ”๋“œ๋ฅผ ์ค‘๋ณต ์‚ฌ์šฉํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™์€๋ฐ ๋ฐ˜๋ณตํ•ด์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ–ˆ๋‹ค. 

 

Core Data์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ CoreDataManager๋ผ๋Š” ํด๋ž˜์Šค์—

์บก์Šํ™”ํ•˜์—ฌ ๋‘ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ–ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด Core Data์™€ ๊ด€๋ จ๋œ ์ฝ”๋“œ๊ฐ€ ์ค‘๋ณต๋˜์ง€ ์•Š๊ณ , ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค

CoreDataManager์˜ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

Core Data ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ๋ณ„๋„์˜ CoreDataManager ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ๊ณผ

๋งŒ๋“ค์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ๊ฐ์˜ ์žฅ๋‹จ์ ์„ ์•Œ์•„๋ณธ๋‹ค. 

 

 

 

1. CoreDataManager ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์žฅ์ 

  • ์ฝ”๋“œ ์ค‘๋ณต ์ตœ์†Œํ™”: Core Data ์„ค์ • ๋ฐ ์ž‘์—…์„ ํ•œ ๊ณณ์— ๋ชจ์•„๋‘ ์œผ๋กœ์จ ์ฝ”๋“œ ์ค‘๋ณต์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
  • ์œ ์ง€ ๋ณด์ˆ˜ ์šฉ์ด: Core Data ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ ํ•œ ๊ณณ์—์„œ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ, ์ˆ˜์ •์ด ํ•„์š”ํ•  ๋•Œ ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•  ํ•„์š” ์—†์ด ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ๋œ๋‹ค.
  • ์บก์Šํ™”: Core Data ๊ด€๋ จ ๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์™ธ๋ถ€์—์„œ ์ˆจ๊ธฐ๊ณ , ๊ฐ„๋‹จํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ์ œ๊ณตํ•จ์œผ๋กœ์จ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์•ˆ์ „์„ฑ์„ ๋†’์ธ๋‹ค.
  • ์žฌ์‚ฌ์šฉ์„ฑ: ์—ฌ๋Ÿฌ ์ปจํŠธ๋กค๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ๊ฐ™์€ Core Data ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ…Œ์ŠคํŠธ ์šฉ์ด: Core DataManager ํด๋ž˜์Šค๋ฅผ ๋ณ„๋„๋กœ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค.

 

๋‹จ์ 

  • ์ดˆ๊ธฐ ์„ค์ • ์ž‘์—…: CoreDataManager ํด๋ž˜์Šค๋ฅผ ๋ณ„๋„๋กœ ์ž‘์„ฑํ•˜๊ณ  ์„ค์ •ํ•˜๋Š” ์ดˆ๊ธฐ ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.
  • ์ถ”๊ฐ€ ํด๋ž˜์Šค: ํด๋ž˜์Šค ํŒŒ์ผ์ด ํ•˜๋‚˜ ๋” ์ถ”๊ฐ€๋˜๋ฏ€๋กœ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

2. CoreDataManager ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•

์žฅ์ 

  • ๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ํŠธ: ์ž‘์€ ํ”„๋กœ์ ํŠธ๋‚˜ ๊ฐ„๋‹จํ•œ ์•ฑ์—์„œ๋Š” Core Data ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ ์ปจํŠธ๋กค๋Ÿฌ์— ์ง์ ‘ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋” ์ง๊ด€์ ์ผ ์ˆ˜ ์žˆ๋‹ค.
  • ์ง์ ‘ ์ ‘๊ทผ: Core Data์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ๋ฐ”๋กœ ์ฝ”๋“œ์—์„œ ํ•˜๋ฏ€๋กœ, ์ฒ˜์Œ์—๋Š” ์ดํ•ดํ•˜๊ธฐ ๋” ์‰ฌ์šธ ์ˆ˜ ์žˆ๋‹ค.

 

๋‹จ์ 

  • ์ฝ”๋“œ ์ค‘๋ณต: Core Data ๊ด€๋ จ ์ฝ”๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ณณ์— ์ค‘๋ณต๋  ์ˆ˜ ์žˆ๋‹ค.
  • ์œ ์ง€ ๋ณด์ˆ˜ ์–ด๋ ค์›€: Core Data ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ ์ปจํŠธ๋กค๋Ÿฌ์— ๋ถ„์‚ฐํ•ด์„œ ์ž‘์„ฑํ•  ๊ฒฝ์šฐ, ๋‚˜์ค‘์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ƒ๊ธฐ๋ฉด ๋ชจ๋“  ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค.
  • ๊ฐ€๋…์„ฑ ์ €ํ•˜: ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ฑ…์ž„์ด ์ฆ๊ฐ€ํ•˜๊ณ , ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง€๋ฉฐ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • ํ…Œ์ŠคํŠธ ์–ด๋ ค์›€: ๊ฐœ๋ณ„ ์ปจํŠธ๋กค๋Ÿฌ์— ๋ถ„์‚ฐ๋œ Core Data ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค.

 

๊ฒฐ๋ก 

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ, CoreDataManager ํด๋ž˜์Šค๋ฅผ ๋ณ„๋„๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด ๋” ํšจ์œจ์ ์ด๊ณ  ๊ถŒ์žฅ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. 

 

 

 

ํŠนํžˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ์œ ๋ฆฌํ•˜๋‹ค๊ณ  ํ•œ๋‹ค. 

 

  • ํ”„๋กœ์ ํŠธ๊ฐ€ ์ค‘๊ทœ๋ชจ ์ด์ƒ์ด๊ฑฐ๋‚˜ ํ™•์žฅ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ
  • ์—ฌ๋Ÿฌ ๊ณณ์—์„œ Core Data ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ
  • ์ฝ”๋“œ์˜ ์œ ์ง€ ๋ณด์ˆ˜์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์ด ์ค‘์š”ํ•œ ๊ฒฝ์šฐ

 

์ž‘๊ณ  ๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” Core DataManager ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•๋„ ์ถฉ๋ถ„ํžˆ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ์žฅ๊ธฐ์ ์œผ๋กœ ๋ณผ ๋•Œ, Core Data ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ด๊ณ  ์ƒ์‚ฐ์ ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.

๋”ฐ๋ผ์„œ, CoreDataManager ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ถŒ์žฅ๋œ๋‹ค๋Š” ๊ฒƒ.

 

 

๊ทธ๋ž˜์„œ ์ด๋ฒˆ ๊ณผ์ œ๋Š” ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜๋ˆ„๊ฒŒ ๋˜์—ˆ๋‹ค. 

PokeContactsApp
โ”œโ”€โ”€ Models
โ”‚   โ”œโ”€โ”€ PokeData.swift
โ”‚   โ””โ”€โ”€ CoreData
โ”‚      โ”œโ”€โ”€ ContactsDataClass.swift
โ”‚      โ””โ”€โ”€ ContactsDataProperties.swift
โ”‚      โ””โ”€โ”€ CoreDataManager.swift
โ”‚
โ”œโ”€โ”€ Views
โ”‚   โ”œโ”€โ”€ PhoneBookView.swift
โ”‚   โ”œโ”€โ”€ UpdatePhoneBookView.swift
โ”‚   โ””โ”€โ”€ PhoneBookTableViewCell.swift
โ”‚
โ”œโ”€โ”€ Controllers
    โ”œโ”€โ”€ PhoneBookViewController.swift
    โ””โ”€โ”€ UpdatePhoneBookViewController.swift

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ