2012-02-01 35 views
0

私は検索バーを必要とするアプリケーションを開発しています。私はこの概念を初めて使い慣れていますが、アプリケーションがコアデータで動作しているので、検索のコンセプトはどうですか?誰かが私に説明を与えることができれば、私はとても感謝しています。コアレタ付きの検索バー

よろしくお願いいたします。

+1

コアデータやplistのような他のテクニックとの違いはありません。オブジェクトの配列に対して述語検索を実行し、結果を返すだけです。 –

+0

これを見てくださいhttp://snipplr.com/view/33653/ –

答えて

0

それと同じように使用、通常の検索(私はコアデータなしで検索バーを使用しないと思います)はさておき、あなたがfetchResultの代わりに、配列か何かを使用する必要があるいくつかの方法から...

最初:

- (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幸運。

関連する問題