我有一个对象数组。每个对象都有自己的属性(name,desc,status)。 name
和desc
为NSString
,status
为BOOL
。
我想通过status属性过滤此数组。例如:使用status == YES
获取所有对象。
我怎样才能做到这一点?
答案 0 :(得分:8)
尝试使用NSPredictate
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"status = %@", @"YES"];
NSArray *filterArray = [array filteredArrayUsingPredicate:predicate];
这将为您提供一个数组,其中所有对象的状态均为YES。
答案 1 :(得分:1)
试试这个,
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"status = YES"];
NSArray *filteredArray = [yourArray filteredArrayUsingPredicate:predicate];
答案 2 :(得分:-1)
嗨,你可以试试这个,
NSMutableArray *array =[NSMutableArray arrayWithObjects:@"Apple", @"Animal", @"baby", @"ball", nil];
NSPredicate *aPredicate =
[NSPredicate predicateWithFormat:@"SELF beginswith[a] 'b'"];
NSArray *beginWithA =
[array filteredArrayUsingPredicate:aPredicate];
The beginWithA array will have { @"Apple", @"Animal" }.
NSPredicate *bPredicate =
[NSPredicate predicateWithFormat:@"SELF contains[b] 's'"];
[array filterUsingPredicate:bPredicate];
The array will have { @"baby", @"ball" }
由于