У меня проблема с функцией поиска в моем приложении, и я заметил, что некоторые публикации здесь говорят о том, что есть проблема с циклом for моего кода, который вы можете увидеть по ссылке ниже из предыдущей публикации.
Анализатор XML для программирования Iphone NSMutableArray
Это комментарий другого человека с такой же проблемой, и я просто хотел бы знать, является ли проблема той же для моегопроект "Объекты в вашем поисковом массиве являются объектами NSArray, это означает, что они не реагируют на селектор rangeOfString: так как это метод NSString", и если это так, могу ли я использовать решение, подобное этому.
for(NSArray *array in searchArray)
{
// NSString *str = [array objectAtIndex:0];
PatientInfoObject *obj = [array objectAtIndex:0];
NSString *str = obj.id;
// to be sure
if( [str isKindOfClass:[NSString class]] )
{
NSRange titleResultsRange = [str rangeOfString:searchText options:NSCaseInsensitiveCompare];
if( titleResultsRange.length != 0 )
{
[copyListOfItems addObject:str];
}
}
else
{
// this shouldn't have happened, log something to console
NSLog(@"**Object in array is not of type NSString**");
}
}
Вот код для моего UISearchBar, и, как упоминалось выше, ссылка в начале вопросов на большую часть соответствующего кода, если вам нужно что-то еще, я опубликую его.
Спасибо, Брэд
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchtext {
if ([searchtext length] == 0) {
[self toggleToolBarButtons:NO];
[[self rssParser]startProcess];
}
else {
for (NSString * string in _rssParser.rssItems) {
NSRange r = [string rangeOfString:searchtext options:NSCaseInsensitiveSearch];
if (r.location != NSNotFound) {
[_rssParser.rssItems addObject:string];
}
}
}
[[self tableView]reloadData];
}