ios - 谓词抛出异常

标签 ios core-data

我不知道为什么我在这段代码上遇到错误:

 //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 核心数据属性。

欢迎任何帮助。

已添加屏幕截图:

enter image description here

最佳答案

感谢截图。我的猜测是这不完全是 NSPredicate 问题。尝试将代码更改为:

let predicate = NSPredicate(format: "year_created >= %ld", year)

NSDateComponent 的年份属性是 NSInteger,所以不能使用 %@ 格式。

关于ios - 谓词抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30517610/

相关文章:

ios - iOS的位置服务中 "Always"和 "While Using App"之间的区别

ios - 如何停止在横向模式下使用单元格向上滚动表格 View 标题?

ios - 以 .629Z 结尾的字符串的正确日期格式

ios - TICoreDataSync 连接到 Web 服务器后端?

swift - 我可以安全地将 NSManagedObject 传递给 performBackgroundTask 吗?

objective-c - 动态核心数据模型

ios - 子类 NSManagedObject 以轻松初始化

ios - 在 ios 中使用 swift 删除文件

iphone - 收到通知的频率比发送通知的频率高

iOS核心数据 "joining"两个 "tables"