tengo UISearchBar
, UITableView
, un servicio web que devuelve un NSMutableArray
que contienen objetos como este:Filtrar una NSArray que contiene objetos personalizados
//Food.h
Food : NSObject {
NSString *foodName;
int idFood;
}
@property (nonatomic, strong) NSString *foodName;
Y la matriz:
Food *food1 = [Food alloc]initWithName:@"samsar" andId:@"1"];
Food *food2 = [Food alloc] initWithName:@"rusaramar" andId:@"2"];
NSSarray *array = [NSArray arrayWithObjects:food1, food2, nil];
¿Cómo filtrar mi matriz con objetos cuyo nombre comienza por "sa"?
Gracias por su respuesta, ¿qué es [evalutedObject objectName] ?? – samir
'objectName' era la propiedad en la subclase' NSObject' en su pregunta. Si desea filtrar basándose en una propiedad diferente de los objetos en su matriz, simplemente use el nombre de la propiedad en su lugar. –
Lo siento, estoy haciendo esto: myObject * obj = [myObject new]; myArray = [myArray filteredArrayUsingPredicate: [NSPredicate predicateWithBlock:^BOOL (id evaluateObject, NSDictionary * bindings) { return [[obj objectName] hasPrefix: searchTextField.text]; }]]; – samir