通过 Cocoa Bindings 获取核心数据中关系的最后一个元素的正确方法

发布于 2024-10-18 14:24:10 字数 273 浏览 3 评论 0原文

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

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

我知道所有 Y 都插入到 NSSet 中,因此没有定义的顺序。然而,每个Y都有一个“时间戳”属性,所以当我说“最新插入的Y对象”时,我实际上是指“具有最新时间戳的Y”。

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

I have a managed-object X with a relationship to a list of [1:N) Y objects. (X and Y objects are stored using Core Data)

I would like to find the proper (and more convenient) way to obtain the latest inserted Y object. The "name" attribute of this Y object should be shown in the graphic possibly through Cocoa Bindings.

I know that all Ys are inserted into a NSSet, so there is no defined order. However, each Y has a "timestamp" attribute, so when I say "the latest inserted Y object" I actually mean "the Y with the latest timestamp".

Any help will be appreciated: I searched all the documentation but have not found anything that could help me.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

站稳脚跟 2024-10-25 14:24:10

在 KVC 编程指南的 Collection Operators 部分,@max 的描述如下

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

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

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

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

In The KVC Programming Guide's Collection Operators section, the description for @max says

The @max operator compares the values of the property specified by the key path to the right of the operator and returns the maximum value found. The maximum value is determined using the compare: method of the objects at the specified key path. The compared property objects must support comparison with each other. If the value of the right side of the key path is nil, it is ignored.

The following example returns the maximum value of the date values (date of the latest transaction) for the Transaction objects in transactions:

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

The latestDate value (formatted) is Jul 15, 2010.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文