날짜가 NSDate로 저장된 여러 시간 항목이있는 앱이 있습니다.NSPredicate를 사용하여 연도/월 필터 fetchRequest
내가 가져온 특정 날짜와 월을 필터링하기 위해 가져 오기 요청을 사용하고 싶습니다. NSPredicate를 사용하여 1 년 및 1 개월 동안 필터링하는 방법은 무엇입니까? 나는 SIGABRT를 얻을 수
let predicate = NSPredicate(format: "date >= %@ AND date < %@", firstDayOfTheMonth as! CVarArg, beginningOfNextMonth as! CVarArg)
:
var dateComp = DateComponents()
dateComp.year = Int(selectedYear)
dateComp.month = Int(selectedMonth)
dateComp.day = 1
let calendar = Calendar.current
let firstDayOfTheMonth = calendar.date(from: dateComp)
var oneMonth = DateComponents()
oneMonth.month = 1
let beginningOfNextMonth = calendar.date(byAdding: oneMonth, to: firstDayOfTheMonth!)
그리고 술어 :
let predicate = NSPredicate(format: "%K == %D && %K == %D", ???, selectedMonth, ???, selectedYear)
업데이트
라키 (Raki)가 지적한 도움을 사용하여 다음 코드를 내놓았다 다음 메시지와 함께 :
Could not cast value of type 'Foundation.Date' (0x1073a0ae0) to 'Swift.CVarArg' (0x1196851c8).
Xcode 제안 "추가! CVarArg "2
다음 술어는 이제 일
업데이트 :
let predicate = NSPredicate(format: "%K >= %@ && %K < %@", "date", firstDayOfTheMonth! as NSDate, "date", beginningOfNextMonth! as NSDate)
저장할 날짜의 형식은 무엇입니까? – raki
NSDate를 사용하고 있습니다. CoreData에서 'Date'를 입력하십시오. – sidetrax
도움이 될 수 있습니다. http://stackoverflow.com/questions/13262567/how-to-build-a-nspredicate-filtering-all-days-in-a-month-using-nsdate – raki