【发布时间】:2015-05-14 18:36:12
【问题描述】:
我有一个 CoreData 实体 Song,它具有日期属性 pushDate 和一个布尔属性 isPublic。
我需要获取最新的公开歌曲。
要获取最新的,我可以使用 -
request.predicate = [NSPredicate predicateWithFormat:@"pushDate==max(pushDate)"];
但是当我尝试时-
request.predicate = [NSPredicate predicateWithFormat:@"pushDate==max(pushDate) AND isPublic == YES"];
我没有得到任何结果(我 100% 确定我有公开的歌曲 == YES)。
我可以使用这个谓词吗?如果没有,为什么/这样做的正确方法是什么?
谢谢
【问题讨论】:
-
您是否尝试过在没有
max(pushData)条件的情况下执行isPublic == YES? -
正如@pbasdf 所指出的,如果最新歌曲未公开,则此谓词将不返回任何结果。除非我读错了,否则为了满足这个谓词,一首歌曲必须具有最大 pushDate(是最新歌曲)并且还将 isPublic 设置为 YES。谓词不查找最新的公开歌曲,仅查找恰好是公开的最新歌曲。请原谅重复,但似乎错过了一个基本点。
标签: ios core-data nspredicate nsfetchrequest