기능 명세
명세
- 파일설명
ThefirstForcast.xcdatamodel
: CRUD에 필요한 Entity와 Attributes 설정
CoreDataManager.swift
: CoreData의 CRUD 구현
기능
- 데이터 모델 설정
ThefirstForcast.xcdatamodel
: CRUD에 필요한 ‘MapData’ 라는 class
에 Entity와 경도 ‘lat’ 와 위도 ‘lon’ 을 변수인 Attributes로 설정
- CoreData 구성
NSPersistentContainer
을 통해 .xcdatamodel
파일 이름을 넣어 연동해준다.
shared
로 정의하여 전역에서 CoreData를 사용할 수 있도록 싱글톤 패턴으로 만들어준다.
- CRUD
- Create
- 저장소를 로드하고 CoreData 스택을 생성하기 위해
loadPersistentStores(completionHandler:)
를 실행해야 한다.
createMapData
함수를 통해 변수 lat 과 lon의 값들을 저장하게 만들어 준다
- Read ( Fetch )
readMapData
라는 함수를 만들어 준다.
- 함수 안에
NSFetchRequest
의 타입인 상수를 만들어주고 .fetchRequest()
메서드를 통해 데이터를 읽어주게 할당한다.
do-catch
문을 통해 데이터 로드를 실행하고 실패 시 error.localizedDescription
을 보여준다
- Update - 날씨 앱 특성 상 위도와 경도를 수정 할 일이 없기 때문에 구현하지 않았다
- Delete
deleteMapData
라는 함수를 만들어 준다.
NSManagedObject
에 해당하는 객체 들을 .delete
메서드를 사용하여 저장된 데이터를 삭제한다.
do-catch
문을 통해 변경된 컨텍스트를 저장하고 실패 시 error.localizedDescription
을 보여준다