我正在开发一个有两个模型的应用程序,在视图控制器中,我想进行搜索并从两个模型中查找与搜索关键字匹配的实例,并将它们列出在表格视图中。我还使用 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;
}
任何关于这样的搜索应该看起来如何的想法都会很棒!