[_UITableViewSeparatorView rangeOfString:]: нераспознанный селектор, отправленный экземпляру - PullRequest
1 голос
/ 11 февраля 2011

У меня проблема с выполнением следующего кода при поиске в таблице.Этот код отлично работает в других местах.Но в настоящее время он выдает ошибку как

[_ UITableViewSeparatorView rangeOfString:]: нераспознанный селектор, отправленный экземпляру 0x6041790

Ниже приведен код, который меня беспокоит.Пожалуйста, дайте мне знать об обнаруженной ошибке.

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
  {
       [tableData removeAllObjects];// remove all data that belongs to previous search
       if([searchText isEqualToString:@""] || searchText==nil)
       {
            [displayTable reloadData];
            return;
       }
    NSInteger counter = 0;
       for(NSString *name in dataSource)
    {
            NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init];
            NSRange r = [name rangeOfString:searchText];
            if(r.location != NSNotFound)
            {
                if(r.location== 0)//that is we are checking only the start of the names.
                {
                    [tableData addObject:name];
                }
            }
            counter++;
            [pool release];
        }

    [displayTable reloadData];    }

Заранее спасибо !!

Ждем ваших ответов.

спасибо

Ответы [ 3 ]

1 голос
/ 11 февраля 2011

Похоже, что вы перевыпускаете строки, которые вы сохранили в источнике данных. Я бы проверил любое место, где вы используете / создаете эти строки, чтобы убедиться, что вы не выпускаете их больше раз, чем должны.

1 голос
/ 11 февраля 2011

Это означает, что память, в которой строка должна находиться в памяти, была освобождена, и на этом месте есть другой объект (_UITableViewSeparatorView в вашем случае).Убедитесь, что вы не перевыпускаете строку в массиве

. Вы можете попробовать выполнить поиск с помощью NSZombiesEnabled в инструментах: ссылка

0 голосов
/ 11 февраля 2011

Что вы кладете в dataSource? Очевидно, он содержит объект, который не является строкой NSString.

...