我使用NSFetchedResultsController重写我的项目。它几乎可以工作。但是我想要做的事情在流行的代码中很容易,但我不知道在哪里编码。
当我的UITableView的dataSource为空时,我想添加一个带有消息的子视图“要在TableView中添加对象,请按+按钮”。
如果没有要显示的内容或用户删除TableView的所有对象,则此子视图应在启动时出现。
最好的地方是numberOfRowsInSection(我只有一个部分),有些像
id <NSFetchedResultSectionInfo> sectionInfo = [[[self fetchedResultsController] sections] objectAtIndex:section];
if ([sectionInfo numberOfObjects] == 0)
{
AddSubview
} else {
remove subview if needed
}
...
感谢您的帮助。
最好的问候,
雅克
答案 0 :(得分:0)
假设您有一个名为CoreData
的{{1}}实体。这些国家/地区的属性为Countries
。要检查是否存在类型为countryName
的实体,请调用以下方法:
Countries
编辑:
如果您不想要某个- (BOOL)countryExistsWithName:(NSString *)countryName{
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Countries"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"countryName == %@, countryName];
[fetchRequest setPredicate:predicate];
NSError *error;
NSUInteger count = [self.managedObjectContext countForFetchRequest:fetchRequest error:&error];
if (count == NSNotFound) {
// error
NSLog(@"error");
return NO;
}
if (count > 0) {
// at least one country found
return YES;
}
return NO;
}
,则只需检查所有countryName
,即可执行以下抓取:
Countries
使用此方法,您可以轻松确定数据源是否为emty。 希望它有所帮助