nsfetchedResultsController
全部标签 我有一个由NSFetchedResultsController支持的UITableView,它显示已被用户添加为书签的项目。项目可以从行内的按钮取消书签,这会导致问题。项目取消书签后,它应该从TableView中消失,因为它不再与谓词匹配,但因为我的每个部分的行数已被更新更改,我得到了这个错误的变体:CoreData:error:Seriousapplicationerror.AnexceptionwascaughtfromthedelegateNSFetchedResultsControllerduringacallto-controllerDidChangeContent:.Inv
如果代码将委托(delegate)分配给NSFetchedResultsController,如下所示:-(id)initWithFetchedResultsController:(NSFetchedResultsController*)fetchedResultsController{self=[superinit];if(self!=nil){fetchedResultsController.delegate=self;_fetchedResultController=fetchedResultsController;}returnself;}NSFetchedResultsCon
我在我的UITableView和中使用NSFetchedResultsController-(void)controllerWillChangeContent:(NSFetchedResultsController*)controllerand-(void)controllerDidChangeContent:(NSFetchedResultsController*)controller我根据苹果文档调用了beginUpdates/endUpdates。问题是似乎每次调用时都会将表格位置重置为顶部。知道为什么要这样做吗?是否有办法避免table位置重置?谢谢
当NSFetchedResultsController没有对象时为可见的UITableView创建空白平板View的最佳方法是什么?否则隐藏?如果我向UITableView添加subview,我需要将其定位为与可能改变大小的tableHeaderView对齐。而且我不确定如何在不破坏NSFetchedResultsController逻辑的情况下将UITableViewCell用作白板。 最佳答案 您可以使用几个选项:如果基类是UIViewController,请在TableView后面添加您的空消息subview,并将hidden
为了从我为表格View单元格调用Entry的实体获取信息,我有以下代码:Entry*entry=[self.appDelegate.fetchedResultsControllerobjectAtIndexPath:indexPath];NSLog(@"timelineentrycontexts:%@and%@",[[AppDelegateapplicationDelegate]managedObjectContext],[entrymanagedObjectContext]);两个managedObjectContexts返回不同。这是我获取的结果Controller:-(NSFet
我正在测试一个带有实体“Customer”和属性“name”的简单核心数据项目。我正在使用主从模板的修改版本;Master包含名称的TableView,详细信息用于输入名称。在Master的prepareForSegue中,我设置Details的Customer对象如下:...elseif([segue.identifierisEqualToString:@"AddCustomer"]){[[seguedestinationViewController]setDelegate:self];[[seguedestinationViewController]setCust:(Custome
当我的主视图Controller加载并调用viewDidLoad时,我正在执行一个获取请求并退出一个数组或我的核心数据对象:+(NSArray*)getData{//FetchDataNSError*error=nil;if(![[[AppDelegateinstance]fetchedResultsController]performFetch:&error]){//Updatetohandletheerrorappropriately.NSLog(@"Unresolvederror%@,%@",error,[erroruserInfo]);abort();}NSArray*item
我有一组用于CoreData浏览的通用View/类,但在保存对所列对象之一的属性的更改后,我的获取结果Controller的排序顺序出现问题。在我的TableViewController的viewWillAppear:中,我这样设置了我的获取结果Controller:-(void)setupFetchedResultsController{NSFetchRequest*request=[NSFetchRequestfetchRequestWithEntityName:self.entityToList];request.predicate=self.entitySelectionPre
我正在使用NSFetchedResultsController实现一个UITableView。#D5ProductViewController.h@interfaceD5ProductViewController:D5ViewControllerAbstract@property(nonatomic,strong)NSManagedObjectContext*managedObjectContext;@property(nonatomic,strong)D5Product*product;@property(weak,nonatomic)IBOutletUITableView*tabl
我有一些调用API并返回一组结果的代码,我们称它们为“消息”对象。每条消息都有一个唯一的ID。不幸的是,我不能保证服务器不会给我返回一条我以前没有收到并存储在我的核心数据数据库中的消息。唯一ID在我的“消息”实体中设置为NSNumber字段。有没有一种方法可以“即时”检查数据库,看看是否已经存在具有给定唯一ID的“消息”?目前,每次我需要检查时,我都会创建一个辅助对象的实例,并简单地创建一个NSFetchedResultsController,通过NSPredicate返回过滤后的结果。如果返回任何结果,我继续,或存储在数据库中。我怀疑这是一种缓慢的方法...有什么帮助吗?