我正在尝试在Core Data应用程序中使用谓词。我在整个应用程序中使用它们,除了此应用程序之外,没有任何问题:
NSPredicate *matchDatePredicate = [NSPredicate predicateWithFormat:@"ANY matches.matchDate < %@", datePlusOne];
这将引发以下错误:
“无法解析格式字符串“ ANY match.matchDate
在另一个视图控制器中,以下工作:
NSPredicate *matchDatePredicate = [NSPredicate predicateWithFormat:@"ANY matchDate < %@", self.match.matchDate];
datePlusOne和self.match.matchDate一样都是NSDate属性。我试过使用>,> =,=,==等格式字符串的各种版本,每次都遇到相同的错误。
我在这里真的缺少明显的东西吗?
编辑:这是正在查询的核心数据实体。谓词从MatchStarts搜索到Matches:
最佳答案
两个谓词都不同,似乎一个包含matches.matchDate
,而另一个仅包含matchDate
。检查是否是问题所在。
编辑:要使ANY起作用,要么匹配必须是一对多关系,要么matchDate必须是一对多关系。如果两者都是一对一关系,则您不能使用ANY。