【iOS】Core Dataでfetchされたデータの絞り込み検索(未解決)

predicateWithFormatが、おそらくSQLでいうところのwhere句に相当するのでは?というところまではあたりはつけたが...

- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
    NSString *query = self.searchDisplayController.searchBar.text;
    if (query && query.length) {
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name contains[cd] %@", query];
        [self.fetchedResultsController.fetchRequest setPredicate:predicate];
        [NSFetchedResultsController deleteCacheWithName:@"UserSearch"];
    }
    
    NSError *error = nil;
    if (![self.fetchedResultsController performFetch:&error]) {
        // Handle error
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        exit(-1);  // Fail
    }
}

上記コードでビルドしてシミュレートした時。Sを入力した段階では、2件あるレコードともに同じなのだけど、このあとtを入力したら、あっというまにクラッシュ。
キャッシュが悪さをする的な記事がwebにあったのだけど、

[NSFetchedResultsController deleteCacheWithName:@"UserSearch"];

これでキャッシュをデリートしているわけだし...

んー