fetchedResultsController获取空数据

时间:2015-06-01 11:06:29

标签: ios core-data nsfetchedresultscontroller

Coredata从未保存的上下文中获取对象,导致应用程序崩溃。我的iOS应用程序在获取某些数据和未保存的更改时会出现不规则的行为。 我已经用过了

[myFetchRequest setIncludesPendingChanges:YES];

但仍然没有变化。任何解决方案?

-(NSFetchedResultsController*)fetchedResultsController {

  if (_fetchedResultsController != nil) {
    return _fetchedResultsController;
  }

 NSString *loginUser=[[NSUserDefaults standardUserDefaults] valueForKey:@"currentUser"];

 AppDelegate *sharedDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
 NSManagedObjectContext *context = [sharedDelegate managedObjectContext];
 NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
 [fetchRequest setReturnsObjectsAsFaults:NO];
 NSEntityDescription *entity = [NSEntityDescription entityForName:@"ThreadInfo"
                                          inManagedObjectContext:context];
 [fetchRequest setEntity:entity];

 NSSortDescriptor *sort = [[NSSortDescriptor alloc]
                          initWithKey:@"threadDate" ascending:NO];
 [fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];


 NSPredicate *threadPredicate = [NSPredicate predicateWithFormat:@"userEmail == %@",loginUser];

 [fetchRequest setPredicate:threadPredicate];
 [fetchRequest setFetchBatchSize:20];

 [fetchRequest setIncludesPendingChanges:YES];
 NSFetchedResultsController *theFetchedResultsController =
 [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
                                    managedObjectContext:context sectionNameKeyPath:nil
                                               cacheName:nil];
 _fetchedResultsController = theFetchedResultsController;
 _fetchedResultsController.delegate = self;

 return _fetchedResultsController;

}

0 个答案:

没有答案