- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我插入并保存托管对象:
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
MyCity* city = (MyCity*)[NSEntityDescription insertNewObjectForEntityForName:@"City" inManagedObjectContext:context];
city.cityId = dict[@"id"];
city.cityName = dict[@"name"];
NSError *error;
if (![context save:&error]) {
NSLog(@"error: %@", [error localizedDescription]);
}
我执行 FRC 请求:
_fetchedResultsController = nil;
if (![[self fetchedResultsController] performFetch:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
这是我的 FRC:
if (_fetchedResultsController != nil) {
return _fetchedResultsController;
}
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"City"
inManagedObjectContext: context];
NSSortDescriptor *sd1 = [[NSSortDescriptor alloc] initWithKey:@"cityName" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObjects:sd1, nil];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity:entity];
[fetchRequest setSortDescriptors:sortDescriptors];
[fetchRequest setFetchBatchSize:10];
NSFetchedResultsController *theFetchedResultsController =
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:context
sectionNameKeyPath: @"cityName"
cacheName: @"cache"];
[self setFetchedResultsController: theFetchedResultsController];
_fetchedResultsController.delegate = self;
return _fetchedResultsController;
}
在 performFetch
之后我看到:
_fetchedResultsController.fetchedObjects //array of MyCity objects
_fetchedResultsController.sections //empty array
为什么 _fetchedResultsController.sections 是空的?
当我不使用 [context save:&error]
时,我可以在 _fetchedResultsController.sections 中看到对象数组。
在我的代码中保存上下文有问题吗?我应该如何保存 nsmanagedobject 和 nsmanagedcontext ?
最佳答案
也许 dict
是空的,所以 cityName
是空的并且没有节标题。
此外,您应该持有对托管对象上下文的引用,而不是反复去您的应用程序委托(delegate)来获取它。
我还建议在不使用 fetchBatchSize
和使用 cache:nil
的情况下测试您的代码,并在以后进行优化。
另请注意,通常的模式是在返回之前懒惰地创建 FRC 时进行提取。然后,您可以将其nil
出来以生成提取,或在现有实例上调用performFetch
。
关于ios - FetchedResultController 中没有任何部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24754958/
我插入并保存托管对象: MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] deleg
我正在尝试将我的表格 View 拆分为每个月的部分。我开始使用 DateSectionTitles苹果的例子。首先,我在我的核心数据库中添加了一个属性“sectionIdentifier”。然后在我的
我是一名优秀的程序员,十分优秀!