Ich verwende einen UITableViewController mit einer UISearchBar. Alles scheint gut zu funktionieren, außer dass ich eine seltsame Warnung in der textDidChange
Methode bekomme, die ich noch nie zuvor gesehen habe.UISearchBar textDidChange Erstellungsfehler: Es sind sichtbare Ansichten übrig, nachdem alle wiederverwendet wurden: {(null) = (null); }
Dies ist mein Code:
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
[self.searchResults removeAllObjects];
if([searchText isEqualToString:@""]||searchText==nil){
[self.tableView reloadData];
return;
}
for(NSArray *monsterArray in self.monsterArray) {
NSString *name = monsterArray[0];
NSRange r = [[name lowercaseString] rangeOfString:[searchText lowercaseString]];
if(r.location != NSNotFound) {
if(r.location==0) {
[self.searchResults addObject:monsterArray];
}
}
}
[self.tableView reloadData];
}
von durch das Programm treten, ich habe festgestellt, dass die Warnung kurz vor dem Ende der textDidChange
auftritt. Wie ich im Titel erwähnte, ist die Warnung dies:
There are visible views left after reusing them all: { (null) = (null); }
Weiß jemand, warum dies geschieht und wie es zu lösen?
Ich habe das gleiche Problem in einem ähnlichen Textfeld Delegate-Methode: 'func textField (textField: UITextField, shouldChangeCharactersInRange Bereich: NSRange, ErsetzungString string: String) -> Bool'. Da es im Internet keine Infos dazu gibt, beschreibt dieses xkcd commic genau, wie ich mich fühle: http://static.fjcdn.com/pictures/What+did+you+see_a484fb_4909175.jpg – Losiowaty