Панель поиска с coredata - PullRequest
       5

Панель поиска с coredata

0 голосов
/ 01 февраля 2012

Я занимаюсь разработкой приложения, которому нужна панель поиска, и я новичок в этой концепции, но поскольку мое приложение работает с Core Data, как работает концепция поиска? если бы кто-то мог дать мне объяснение, я был бы очень благодарен.

С наилучшими пожеланиями.

1 Ответ

0 голосов
/ 29 ноября 2012

Это так же, как использовать обычный поиск (я думаю, что я никогда не использую панель поиска без основных данных), кроме некоторых методов, которые вам нужно использовать fetchResult вместо массива или чего-то еще.

first:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.searchResults = [NSMutableArray arrayWithCapacity:[[self.fetchResultsController fetchedObjects] count]];

     NSError *error = nil;
    if (![[self fetchResultsController]performFetch:&error])
    {
        NSLog(@"error!!! %@",error);
        abort();
    }

    [self.tableView reloadData];
}

секунда:

- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
    //if([self searchResults]){
        [[self searchResults]removeAllObjects];
    //}


    for (Books *book in [self.fetchResultsController fetchedObjects])
    {
            if([self searchResults])
            {
                NSComparisonResult result = [book.title compare:searchText
                                                   options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch)
                                                     range:NSMakeRange(0, [searchText length])];
                if (result == NSOrderedSame && [self searchResults])
                {
                        [self.searchResults addObject:book];
                }
            }
    }
}

другие методы должны оставаться как обычный поиск, я думаю.вы можете использовать этот учебник http://timroadley.com/2012/03/05/core-data-basics-part-7-search-bars/, а также посмотреть на мой проект git hub. В этом проекте я использую раскадровку, основные данные и панель поиска https://github.com/dennis87/bookList удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...