UISearchDisplayController / NSFetchedResultsController具有自定义排序顺序
我在我的应用中实现了搜索功能。 我希望用户在给定实体的多个属性中同时查找单词。
下面是一个具有3个String属性的实体的例子: Person (firstName,lastName,notes)
我们使用一个3人模拟数据集:
现在,我们假设用户正在查找“will”事件 ,并且我们运行不区分大小写的搜索。 所有三个以前描述的人都会匹配“will”这个词,这要归功于使用orPredicateWithSubpredicates
理想情况下,我希望将结果按此顺序显示以达到相关性目的:
对于此搜索功能,“firstName”比“lastName”更具相关性,它们比“notes”属性更相关。
由于我使用的是UISearchDisplayController,我也用它需要一个NSSortDescriptor的NSFetchedResultsController。 现在我面临的问题是我要用什么属性/键来初始化NSSortDescriptor?
我已经经历了许多帖子,并认为一个瞬态属性可以帮助我解决这个问题,但我无法弄清楚如何/何时设置这个可以命名为“sortKey”的瞬态属性并设置为这些值:
最终我想我可以尝试运行三个不同的请求,但是我不得不放弃使用NSFetchedResultsController及其所有的魔法......
我不知道我是否达到NSFetchedResultsController的极限,但是任何指针都很棒,谢谢!
乔斯。
链接地址: http://www.djcxy.com/p/6137.html上一篇: UISearchDisplayController/NSFetchedResultsController with custom sort order
下一篇: Transient sectionNameKeyPath & NSSortDescriptor NSFetchedResultsController