2

コアデータデータベース全体を検索する検索機能があります。完全なコアデータデータベースを検索するには

私は4つのエンティティを持っています。これらはすべて、NSManagedObject MedicalCodeのサブクラスです。

- (void) loadDatabase 
    { 
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"MedicalCode" inManagedObjectContext:managedObjectContext]; 
     NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease]; 
     [request setEntity:entityDescription]; 
     NSError *error = nil; 
     NSArray *array = [managedObjectContext executeFetchRequest:request error:&error]; 
    } 

    - (void) searchTableView { 

     NSString *searchText = searchBar.text; 
     NSMutableArray *searchArray = [[NSMutableArray alloc] init]; 

     for (NSDictionary *dictionary in myArray) 
     { 
      NSString *value = [dictionary valueForKey:@"name"]; 
      [searchArray addObject:value]; 
     } 

     for (NSString *sTemp in searchArray) 
     { 
      NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch]; 

      if (titleResultsRange.length > 0) 
       [copyListOfItems addObject:sTemp]; 
     } 
     [searchArray release]; 
     searchArray = nil; 
    } 

ここで問題となるのは、実際のオブジェクト自体をコピーリストに追加するのではなく、むしろ名前属性のみを追加することだと思います。また、それはiPhoneに遅れている。何かアドバイス?

編集:

それともNSFetchedResultsControllerでこれをリンクアップし、そのルートを移動するための方法がありますか?

答えて

1

NSFetchRequestにNSPredicateを追加する必要があります。

+0

ええ、私は上記の検索方法とどのようにリンクしますか? –

+1

あなたの述語はあなたのsearchTextに基づいています。 docsを見てください:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Predicates/Articles/pCreating.html – sosborn

関連する問題