我想在我的核心数据应用程序中使用谓词。我使用他们整个应用程序没有任何问题,除了这一个:NSDate谓词抛出'无法解析格式字符串'错误
NSPredicate *matchDatePredicate = [NSPredicate predicateWithFormat:@"ANY matches.matchDate < %@", datePlusOne];
这引发以下错误: “无法解析格式字符串‘ANY matches.matchDate <%@’”
在不同的视图控制器,以下工作:
NSPredicate *matchDatePredicate = [NSPredicate predicateWithFormat:@"ANY matchDate < %@", self.match.matchDate];
的datePlusOne是一个NSDate属性,是self.match.matchDate。我尝试过使用>,> =,=,==等格式化字符串的各种版本,并且每次都得到相同的错误。
我是否错过了这里真的很明显?
编辑:这是被查询的核心数据实体。谓词是从MatchStarts搜索到匹配:
只是一个疯狂的猜测:“匹配”是谓词格式字符串中的保留字 - 可以创建解析错误吗? – Monolo
是的!谢谢!我没有意识到保留字。我通过使用'#matches.matchDate'解决了这个问题,如文档中所示:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Predicates/Articles/pSyntax.html – aritchie