-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
[self.map removeAnnotations:self.map.annotations];
if ([textField isEqual:self.searchText]) {
NSPredicate *bPredicate =
[NSPredicate predicateWithFormat:@"name contains[c], %@",self.searchText.text];
self.filteredArray = [self.hotelArray filteredArrayUsingPredicate:bPredicate];
NSLog(@" HEARE %@",self.filteredArray);
[self markAllHotels];
}
return YES;
}
hotelArray
und filteredArray
sind NSArray
s filtern.Wie NSArray mit Prädikat auf eine Objekteigenschaft
hotelArray
hat Objekte vom Typ hotel
, wobei hotel
eine Eigenschaft name
hat.
Problem: Ich mag nach filtern hotelArray
zu hotel.name
wenn hotel.name
Streichhölzern Text in searchText
[Textfeld] eingegeben, aber ich bin immer ein leeres self.filteredArray
.
prüfen dieses http://stackoverflow.com/questions/1473973/nspredicate-case-insensitive-matching-on-to-many-relationship –
Ihre Frage fehlt. Welche Probleme hast du genau mit deinem geposteten Code? – mAu
@ Vishwa Patel, dass Code für mich nicht funktioniert. mit ANY stürzt der Simulator ab. – shifu