Поэтому у меня возникли проблемы с реализацией панели поиска в моем приложении.
Методы находят отфильтрованные элементы, но по какой-то причине они не отображаются в моем табличном представлении.
Я думаю, что это как-то связано с добавлением объектов в FilterListContentArray.
Какой объект я должен добавить, чтобы это работало.
Вот мой код:
{
[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);}
Этот последний NSLog читает (null) каждый раз, но NSLog Над ним всегда показывает правильные фильтрованные элементы.