我正在尝试在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。

09-27 01:35