通过Cocoa Bindings获取Core Data中关系的最后一个元素的正确方法

时间:2011-02-23 20:31:26

标签: cocoa core-data cocoa-bindings nsset

我有一个托管对象X,它与[1:N] Y对象列表有关系。 (使用Core Data存储X和Y对象)

我想找到获得最新插入的Y对象的正确(更方便)的方法。此Y对象的“name”属性应该可以通过Cocoa Bindings显示在图形中。

我知道所有的Y都被插入到NSSet中,所以没有定义的顺序。但是,每个Y都有一个“timestamp”属性,所以当我说“最新插入的Y对象”时,我的意思是“带有最新时间戳的Y”。

任何帮助将不胜感激:我搜索了所有文档,但没有找到任何可以帮助我的东西。

1 个答案:

答案 0 :(得分:2)

在KVC编程指南的Collection Operators部分中,@ max的说明为

  

@max运算符将键路径指定的属性值与运算符右侧进行比较,并返回找到的最大值。使用指定键路径上的对象的compare:方法确定最大值。比较的属性对象必须支持相互比较。如果键路径右侧的值为nil,则忽略它。

     

以下示例返回事务中Transaction对象的日期值的最大值(最新事务的日期):

NSDate *latestDate = [transactions valueForKeyPath: "@max.date"];
  

latestDate值(格式化)是2010年7月15日。