最近使用Core Data搜索

时间:2009-05-13 20:33:33

标签: iphone cocoa-touch core-data

我正在为iPhone制作核心数据应用程序,但希望这个问题适用于Mac OS X,以便在没有NDA问题的情况下回答。

当用户进行搜索时,我使用实体Entry将每个结果保存到上下文中。我希望稍后可以在“最近搜索”部分下检索这些结果。什么是最好的方法呢?

我正在考虑的一种方法是添加另一个名为History的实体,并使用一个Entry属性链接到此。第一个搜索结果将具有Entry.history_id = 1,第二个结果将具有Entry.history_id = 2,依此类推。然后,最近的搜索将选择具有给定历史ID的条目实体。

1 个答案:

答案 0 :(得分:0)

如果你想要的是一个有序的搜索列表,那么你是对的:你必须手动管理一些指定订单的属性。您提供的history_id是一种可能性。我可能会使用在插入实体实例时设置的日期属性。然后,您可以按此日期属性订购。为了存储实际的搜索,我经常将查询的NSPredicate实例序列化为数据属性(自己处理序列化/反序列化)或可转换(使用默认的NSUnarchiveFromData传输)属性。