我正在使用核心数据,我有一个名为LogRecord的实体.在其他地方,使用以下对象填充对象:
LogRecord *rec = [NSEntityDescription insertNewObjectForEntityForName:@"LogRecord"
inManagedObjectContext:managedObjectContext];
[rec timestampNow];
rec.moodType = [NSNumber numberWithUnsignedInteger:i];
rec.moodValue = value;
NSError *error = nil;
if (![rec.managedObjectContext save:&error]) {
[DataUtil displayFatalError:error message:@"Failed to save log entry"];
errors++;
}
Run Code Online (Sandbox Code Playgroud)
在使用此代码后,我已经检查过底层的sqlite数据库中有记录.
但是,当我尝试使用以下方法查询数据时:
- (NSFetchedResultsController *)fetchedResultsController {
if (fetchedResultsController == nil) {
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"LogRecord"
inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"timestamp" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
// nil for section name key path means "no sections".
NSFetchedResultsController *aFetchedResultsController =
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:managedObjectContext
sectionNameKeyPath:nil
cacheName:nil];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;
[aFetchedResultsController release];
[fetchRequest release];
[sortDescriptor release];
[sortDescriptors release];
}
return fetchedResultsController;
}
Run Code Online (Sandbox Code Playgroud)
它[[self.fetchedResultsController sections] count]
返回空,如返回零所证明的那样.
知道如何调试这个吗?它之前我试图将这个代码分解成一个不同的UIViewController ....
归档时间: |
|
查看次数: |
1917 次 |
最近记录: |