C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了objective-c – 获取由核心数据中的一对多关系构成的NSSet中属性的最小值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在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的最小值)的卡.

解决方法

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

//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说明.

大佬总结

以上是大佬教程为你收集整理的objective-c – 获取由核心数据中的一对多关系构成的NSSet中属性的最小值全部内容,希望文章能够帮你解决objective-c – 获取由核心数据中的一对多关系构成的NSSet中属性的最小值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。