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 []
}
}