iPad:核心数据获取请求忽略谓词中的更改

时间:2010-06-03 14:26:47

标签: ipad predicate core-data

在编写iPad应用程序时,我只是在使用带有“动态”谓词的fetchedResultsController时遇到了麻烦。似乎对谓词的更改被忽略了。无论谓词如何变化,我总是得到第一次获取的结果......

相同的代码在iphone-env(3.1.x)上运行没有问题!!

示例:

- (void)performSearch:(NSString *)searchText {
  self.displaySearchResults = TRUE;
  NSPredicate *predicate = [NSPredicate predicateWithFormat:@"searchWords contains[cd] %@", searchText];
  [self.fetchedSearchResultsController.fetchRequest setPredicate:predicate];

  NSError *error = nil;
  if (![self.fetchedSearchResultsController performFetch:&error]) {
    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
  }

  if(deviceIsIPad) {
    [self showSearchResults];
  }  
  else {
    [cookBookOverview reloadData];
  }
}

任何人都可以帮助PLZ吗?

顺便提一下:原谅我痛苦的英语; - )

1 个答案:

答案 0 :(得分:4)

更改谓词或fetchRequest

时,必须始终清除缓存
    // clear cache
[NSFetchedResultsController deleteCacheWithName:@"CacheName"];