gpt4 book ai didi

ios - NSDictionary通过属性值获取对象

转载 作者:行者123 更新时间:2023-12-01 18:05:43 27 4
gpt4 key购买 nike

我有NSDictionary,其中包含以下类型的对象。

OBJECT1 - isFree:NO
Name: Papaya

OBJECT2 - isFree:YES
Name: Apple

OBJECT3 - isFree:YES
Name: Grapes

我可以通过使用 key来获取给定 objectForKey的对象,如下所示。
NSString* contentId = @"OBJECT3";
ACBContentType *object = [[[ACBLibrary sharedLibrary] contentsDictionary] objectForKey:contentId];

但是我想通过读取对象 isFree:YES属性来获取所有 isFree的对象。做这个的最好方式是什么?

最佳答案

如果您对键不感兴趣,而仅对对象感兴趣,那就很简单了:

NSDictionary *contentDictionary = …;
NSPredicate *freePredicate = [NSPredicate predicateWithFormat:@"isFree == %@", @YES];
NSArray* freeContent = [[contentDictionary allValues] filteredArrayUsingPredicate:freePredicate];

在Safari中输入。
-allValues返回所有值对象的数组。 -filteredArrayUsingPredicate:将其简化为满足谓词的项目。

关于ios - NSDictionary通过属性值获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45477590/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com