Help con metodi UISearchBar
-
20-09-2019 - |
Domanda
Ho problemi l'implementazione di una barra di ricerca nella mia app.
I metodi di ricerca gli elementi filtrati, ma per qualche motivo non verranno visualizzati nella mia Tableview. Penso che abbia qualcosa a che fare con l'aggiunta di oggetti al filteredListContentArray.
Quale oggetto dovrei essere aggiunta per far funzionare tutto questo.
Ecco il mio codice:
{
[self.filteredListContent removeAllObjects]; // First clear the filtered array.
for (NSDictionary *dictionary in tableDataSource)
{
NSString *testString = [dictionary valueForKey:@"Title"];
NSLog(@"String list to be Searched is %@", testString);
//NSLog(@"Contents of list are %@", testString);
NSComparisonResult result = [testString compare:searchText options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch) range:NSMakeRange(0, [searchText length])];
//NSObject *filteredObject = [dictionary objectForKey:@"Title"];
if (result == NSOrderedSame)
{
NSLog(@":-)");
NSLog(@"Resulted object is %@", [dictionary valueForKey:@"Title"]);
[self.filteredListContent addObject:dictionary];
}
else
{
NSLog(@":-(");
}
}
NSLog(@"Contents of Filtered list are %@", self.filteredListContent);}
L'ultima NSLog legge (null) ogni volta, ma la NSLog Sopra di esso mostra sempre gli elementi filtrati corrette.
Soluzione
dove allocare memoria per il filteredListContent? e v'è matrice tableDataSource. si fa a riempire il vostro tavolo da filteredListContent o dalla matrice tableFataSource? inoltre si può provare a stampare di consolare [descrizione filteredListContent];