核心数据:从过滤元素中获取最新记录
Posted
技术标签:
【中文标题】核心数据:从过滤元素中获取最新记录【英文标题】:Core Data: Fetch for the latest record from filtered elements 【发布时间】:2015-11-30 09:12:57 【问题描述】:我有什么:Core Data 及其表“访客”,其中包含一些字段,如“personName”、“date”、“floor”、“section”。
我想要什么:构造 Fetch Request 以获取由具体“地板”和“部分”过滤的访客集中的最新(按“日期”)条目。
换句话说,我需要得到 X'th 楼的最后一个访客的名字和它的 Y'th 部分。使用纯 SQL 可以通过以下方式完成:
SELECT * FROM Visitors where floor='2' and section='1' GROUP BY floor HAVING MAX(date)
或
SELECT personName, date, MAX(date) FROM Visitors WHERE floor='2' and section='1'
如何使用 Fetch Request 做到这一点?..
【问题讨论】:
这应该可以帮助您入门:Fetching the most recent item from CoreData in Swift. 但是我不需要只找到最新的访客。我需要找到混凝土地板+部分的最新访客。 这就是为什么我说“让你开始”而不是作为重复关闭:) - 你必须添加一个 predicate 来限制结果集到楼层/部分。 哇。我发现自己此时只是愚蠢。我的本地数据库中有不正确的值,因此基于我在此处询问之前测试过的简单 Predicate 的正确 Fetch Request 确实是正确的。但是不正确的存储值导致了不正确的结果。谢谢! 【参考方案1】:这可以通过仅基于谓词和降序的常规 Fetch Request 来完成。
【讨论】:
以上是关于核心数据:从过滤元素中获取最新记录的主要内容,如果未能解决你的问题,请参考以下文章