WeatherApp Project (3)

ulls12·2024년 2월 14일
0

Swift TIL

목록 보기
40/60

기능 명세

명세

  • 파일설명
    • 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 을 보여준다
profile
I am 개발해요

0개의 댓글