如何从核心数据一对多关系NSSet中提取属性的最小值?

2026-04-16 17:312阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计307个文字,预计阅读时间需要2分钟。

如何从核心数据一对多关系NSSet中提取属性的最小值?

在Core Data中创建了几个对象,其中一个是Deck,另一个是Card。卡片有几个编号属性,包括id。Deck与Card之间存在一对多关系。在牌堆中找到具有最小编号属性值的某些卡片属性。

我在Core Data中设置了几个对象,其中一个是“Deck”,其中一个是“Card”. “卡片”有几个编号的关系,包括“id”. “Deck”与卡片有一对多的关系.

在甲板中找到具有最小值的某些编号属性的最佳方法是什么,例如id?

显然我可以得到这样的卡片列表:

NSSet *cardList = self.cards;

我想我可以构建一个表达式,以达到这样的最小值:

NSExpression *keyPathExpression = [NSExpression expressionForKeyPath:@"id"]; NSExpression *minExpression = [NSExpression expressionForFunction:@"min:" arguments:[NSArray arrayWithObject:keyPathExpression]];

但我无法理解如何使用该表达式来提取具有最小id值(或只是id的最小值)的卡.

您可以使用键值编码来执行此操作:

如何从核心数据一对多关系NSSet中提取属性的最小值?

//assuming Card has an Id property which is a number NSNumber *minId = [deck valueForKeyPath:@"cards.@min.Id"]; NSSet *minCards = [[deck cards] filteredSetUsingPredicate:[NSPredicate predicateWithFormat:@"Id==%@", minId]];

将给出其ID属性等于deck.cards中最小值的NSSet卡.

有关详细信息,请参阅“键值编程指南”的Set and Array Operators说明.

标签:一对

本文共计307个文字,预计阅读时间需要2分钟。

如何从核心数据一对多关系NSSet中提取属性的最小值?

在Core Data中创建了几个对象,其中一个是Deck,另一个是Card。卡片有几个编号属性,包括id。Deck与Card之间存在一对多关系。在牌堆中找到具有最小编号属性值的某些卡片属性。

我在Core Data中设置了几个对象,其中一个是“Deck”,其中一个是“Card”. “卡片”有几个编号的关系,包括“id”. “Deck”与卡片有一对多的关系.

在甲板中找到具有最小值的某些编号属性的最佳方法是什么,例如id?

显然我可以得到这样的卡片列表:

NSSet *cardList = self.cards;

我想我可以构建一个表达式,以达到这样的最小值:

NSExpression *keyPathExpression = [NSExpression expressionForKeyPath:@"id"]; NSExpression *minExpression = [NSExpression expressionForFunction:@"min:" arguments:[NSArray arrayWithObject:keyPathExpression]];

但我无法理解如何使用该表达式来提取具有最小id值(或只是id的最小值)的卡.

您可以使用键值编码来执行此操作:

如何从核心数据一对多关系NSSet中提取属性的最小值?

//assuming Card has an Id property which is a number NSNumber *minId = [deck valueForKeyPath:@"cards.@min.Id"]; NSSet *minCards = [[deck cards] filteredSetUsingPredicate:[NSPredicate predicateWithFormat:@"Id==%@", minId]];

将给出其ID属性等于deck.cards中最小值的NSSet卡.

有关详细信息,请参阅“键值编程指南”的Set and Array Operators说明.

标签:一对