Coredata:在谓词和比较中将NSString列转换为NSDate

时间:2015-09-17 07:03:53

标签: ios core-data

您好我正在开发IOS应用程序。其中日期存储在核心数据实体中的String列类型中。现在我想根据日期获得一些过滤记录。但问题是日期被保存为String而不是coredata中的NSDate对象。

我的问题是,有没有办法在Nsdate中转换String并将其与NSDate对象进行比较,并获得更大和更小的日期。我想在MYSQL查询中使用" DATE()" MySQL的功能并将String转换为Date并将其与任何日期进行比较。

2 个答案:

答案 0 :(得分:0)

不,你不能。当然不是没有将所有内容加载到内存中进行转换,NSPredicate不处理该级别的代码(除非你在NSString上添加一个类别,所以你可以有一个方法来调用进行转换。)

显而易见的解决方案是将日期存储为日期而不是字符串,然后一切都将完美运行。

答案 1 :(得分:0)

我认为您可以通过在NSManagedObject子类上创建一个类别并创建一个可以将您的nsstring日期转换为nsdate的函数。然后你可以在NSPredicate中比较它。