Поиск CoreData с помощью RestKit

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

Моя текущая — возможно, наивная — попытка выглядит так:

- (void)search
{

    if (self.searchField.text !=nil) {
        NSPredicate *predicate =[NSPredicate predicateWithFormat:@"post contains[cd] %@", self.searchField.text];
        self.posts = [[Post findAllWithPredicate:predicate] mutableCopy];

        // reload the table view
        [self.tableView reloadData];

    }    

    [self hideKeyboard];

}

Это приводит к ошибке:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'unimplemented SQL generation for predicate : (post CONTAINS[cd] "t")'

Метод делегата tableView cellForRowAtIndexPath выглядит следующим образом:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"Cell";

    CustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

    if (cell == nil) {
        cell = [[CustomTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
    }

    Post *post = [self.posts objectAtIndex:indexPath.row];
    cell.titleLabel.text = post.title;
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    return cell;
}

Любые идеи о том, как должен выглядеть такой поиск, были бы замечательными!


person Anders    schedule 06.08.2012    source источник


Ответы (1)


Возможно, вы захотите взглянуть на пример проекта RKGitHub, который демонстрирует возможности класса RKTableController.

Что касается ошибки, я не думаю, что она связана с вашим вопросом.

person Paul de Lange    schedule 06.08.2012
comment
Проблемы были в основном с моими предикатами, использование NSCompoundPredicate решило большую их часть. Я также неправильно понял, как работают предикаты. В любом случае, спасибо за ваш ответ, ссылка выглядит круто. - person Anders; 08.08.2012