如何按属性过滤模型?

时间:2017-05-10 10:15:44

标签: ios objective-c filter model

我有一个modelArr:

CPU%

并且在NSArray<MyModel *> *modelArr = xxx; 中有属性,例如MyModel

如何过滤type以获取新数组只有modelArr

3 个答案:

答案 0 :(得分:2)

您可以使用NSPredicate

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"type = %@", searchType]; NSArray *filterArray = [modelArr filteredArrayUsingPredicate:predicate]; 属性与特定值进行比较。

type

如果要检查NSPredicate *predicate = [NSPredicate predicateWithFormat:@"type contains[cd] %@", searchType]; NSArray *filterArray = [modelArr filteredArrayUsingPredicate:predicate]; 属性是否包含特定值而不是

JsonObject

答案 1 :(得分:0)

您可以使用NSPredicate,请使用此代码

NSPredicate *bPredicate = [NSPredicate predicateWithFormat:@"SELF.name contains[cd] %@",self.searchText.text];
self.filteredArray = [self.hotelArray filteredArrayUsingPredicate:bPredicate];
NSLog(@"HERE %@",self.filteredArray);`

答案 2 :(得分:0)

试试这个

NSArray *uniqueNames = [modelArr valueForKeyPath:@"@distinctUnionOfObjects.type"];