2015-09-17 51 views
0

嗨,我正在开发一个IOS应用程序。其中日期以核心数据实体中的字符串列类型存储。现在我想根据日期获取一些过滤的记录。但问题是日期被保存为字符串而不是NSDate对象在coredata中。Coredata:将NSString列转换为NSDate谓词并比较

我的问题是,有没有办法在Nsdate中转换字符串,并将其与NSDate对象进行比较,并获取更大和更小的日期。我想在MYSQL查询中使用MySQL的“DATE()”函数,并将字符串转换为日期并将其与任何日期进行比较。

回答

0

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

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

0

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