[TIL] CoreData 예시

Eden·2025년 1월 15일
2

TIL

목록 보기
98/132

1. Core Data에 날짜 기반 데이터 저장하기

func saveData(for date: Date, content: String) {
    let context = CoreDataManager.shared.context
    let entity = YourEntity(context: context)
    entity.date = date
    entity.content = content

    do {
        try context.save()
        print("데이터 저장 성공")
    } catch {
        print("데이터 저장 실패: \(error)")
    }
}

2. 이전 날짜 데이터 삭제하기

func deleteOldData(before date: Date) {
    let context = CoreDataManager.shared.context
    let fetchRequest: NSFetchRequest<NSFetchRequestResult> = YourEntity.fetchRequest()
    fetchRequest.predicate = NSPredicate(format: "date < %@", date as NSDate)

    let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest)
    do {
        try context.execute(deleteRequest)
        print("이전 데이터 삭제 성공")
    } catch {
        print("데이터 삭제 실패: \(error)")
    }
}

3. 날짜로 데이터 가져오기

func fetchData(for date: Date) -> [YourEntity] {
    let context = CoreDataManager.shared.context
    let fetchRequest: NSFetchRequest<YourEntity> = YourEntity.fetchRequest()
    fetchRequest.predicate = NSPredicate(format: "date == %@", date as NSDate)

    do {
        return try context.fetch(fetchRequest)
    } catch {
        print("데이터 가져오기 실패: \(error)")
        return []
    }
}
profile
Frontend 🌐 and iOS  🫶🏻

0개의 댓글

관련 채용 정보