核心数据搜索,其中日期保存为NSStrings

时间:2015-07-03 02:00:49

标签: objective-c core-data nsstring nsdate nspredicate

我正在创建一种搜索机制,用户可以在其中指定要搜索的字段,要使用的运算符以及要搜索的值。更像是高级搜索。但是,我还需要搜索日期和日期范围,但问题是日期被声明为NSStrings而不是NSDates。所以基本上它们是表示日期的字符串(而不是字面上的日期,因为我指的是日期)。表示数据库中日期的字符串示例为:2014-11-25T00:00:00 + 1000。

因此,如果不在迁移中将值及其各自的字段更改为NSDate,是否有办法保留我们已有的内容,而是为我的谓词查询指定一种转换条件,以便Core Data可以转换NSString字段NSDates的值然后进行比较以确定记录符合指定标准的天气?

1 个答案:

答案 0 :(得分:1)

我很确定CoreData无法将NSString转换为NSDate s,你需要做的就是创建一个解析算法来为你转换它。格式看起来像是ISO8601日期格式,用于Web开发,所以我假设你已经从某个地方下载了这些数据?

我之前已经开发了日期解析算法,并且通过适当的测试,您可以非常快速地构建非常强大的东西。您可以做的是将NSDate转换为字符串,然后将这些字符串提供给您的获取谓词。