ios - NSDate 谓词抛出 'Unable to parse the format string' 错误

标签 ios objective-c nspredicate

我正在尝试在我的核心数据应用程序中使用谓词。我在整个应用程序中使用它们,除了这个之外没有任何问题:

NSPredicate *matchDatePredicate = [NSPredicate predicateWithFormat:@"ANY matches.matchDate < %@", datePlusOne];

这会引发以下错误: '无法解析格式字符串“ANY matches.matchDate < %@”'

在不同的 View Controller 中,以下工作有效:

NSPredicate *matchDatePredicate = [NSPredicate predicateWithFormat:@"ANY matchDate < %@", self.match.matchDate];

datePlusOne 是一个 NSDate 属性,就像 self.match.matchDate 一样。我尝试过各种版本的格式字符串,使用 >、>=、=、== 等,但每次都会得到相同的错误。

我在这里错过了一些非常明显的东西吗?

编辑:这是正在查询的核心数据实体。谓词正在从 MatchStarts 搜索到 Matches:

enter image description here

最佳答案

两个谓词都不同,一个谓词似乎包含 matches.matchDate,而另一个谓词仅包含 matchDate。检查是否是问题所在。

编辑:要使 ANY 工作,匹配必须是一对多关系,或者 matchDate 必须是一对多关系。
如果两者都是一对一关系,则您不能使用任何。

关于ios - NSDate 谓词抛出 'Unable to parse the format string' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17808943/

相关文章:

ios - AVSpeechSynthesizer 输出为文件?

ios - 苹果账户中的UDID号

ios - 从 Objective-c 中的 .bundle 加载 png 时出错

objective-c - 将对象与同一集合中的其他对象进行比较的谓词

regex - 带有匹配单词开头的字符串的 NSPredicate

iphone - NSPredicate - 基于 BOOLEAN 存储值过滤值

iphone - 如果发生条件,更改 TableView 中新添加的行的背景颜色?

iphone - 改变不会持续

ios - RTCPeerConnectionFactory.peerConnectionWithConfiguration 导致 IOS 模拟器崩溃

ios - 如何从 VNFaceObservation 边界框(Vision + ARKit)正确平移 X 轴