我不知道为什么我在这段代码上遇到错误:
//fecha y hora actual
let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay | .CalendarUnitHour | .CalendarUnitMinute, fromDate: date)
let hour = components.hour
let minutes = components.minute
let year = components.year
let month = components.month
let day = components.day
print (year)
let predicate = NSPredicate(format: "year_created >= %@", year)
fetchRequest.predicate = predicate
异常在以下行抛出:
let predicate = NSPredicate(format: "year_created >= %@", year)
其中“year_created”是 int16 核心数据属性。
欢迎任何帮助。
已添加屏幕截图:
最佳答案
感谢截图。我的猜测是这不完全是 NSPredicate 问题。尝试将代码更改为:
let predicate = NSPredicate(format: "year_created >= %ld", year)
NSDateComponent 的年份属性是 NSInteger,所以不能使用 %@ 格式。
关于ios - 谓词抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30517610/