我有 UISearchBar
、UITableView
,这是一个返回包含如下对象的 NSMutableArray
的 Web 服务:
//Food.h
Food : NSObject {
NSString *foodName;
int idFood;
}
@property (nonatomic, strong) NSString *foodName;
和数组:
Food *food1 = [Food alloc]initWithName:@"samsar" andId:@"1"];
Food *food2 = [Food alloc] initWithName:@"rusaramar" andId:@"2"];
NSSarray *array = [NSArray arrayWithObjects:food1, food2, nil];
如何使用名称以“sa”开头的对象过滤我的数组?
最佳答案
您可以使用以下代码过滤任意数组:
NSMutableArray *array = ...;
[array filterUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
return [evaluatedObject.foodName hasPrefix:searchBar.text];
}];
这将“就地”过滤数组,并且只能在 NSMutableArray
上访问。如果您想获得一个已为您过滤的新数组,请使用 filteredArrayUsingPredicate:
NSArray
方法。
关于objective-c - 过滤包含自定义对象的 NSArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9558335/