关于Core Data Fetch中的NSPredicate

时间:2011-09-19 15:08:54

标签: iphone

我有两个实体,User&消息。

  • 消息有created_at时间戳;
  • 消息有发件人[与用户的一种关系];
  • 用户有一个sentMessages [与Message有很多关系];

但是,我想要抓取所有已发送任何消息的用户以及最新发送的消息。

我尝试获取消息并设置谓词

created_at = sender.sentMessages.@max.created_at

但是编译器告诉我无法解析sql语句? 我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

这正是你在代码中调用它的方式吗? @运算符是集合上的keyValue编程运算符,因此您需要通过键值语义来访问它们。尝试:

created_at = [sender valueForKeyPath:@"sentMessages.@max.created_at"];

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueCoding/Articles/CollectionOperators.html#//apple_ref/doc/uid/20002176-BAJEAIEE