Как искать полную базу данных базы данных - PullRequest
2 голосов
/ 14 августа 2011

У меня есть функция поиска, по которой я хочу выполнить поиск по всей базе данных основных данных.

У меня есть 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;
    }

Проблема здесь в том, что, я думаю, я не добавляю сам фактический объект в список копирования, а скорее добавляю только атрибут name. Кроме того, это отстает от iPhone. Любой совет?

Edit:

Или есть способ связать это с NSFetchedResultsController и пойти по этому пути?

1 Ответ

1 голос
/ 14 августа 2011

Вам необходимо добавить NSPredicate в ваш NSFetchRequest.

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