FetchedResultsController
全部标签 我在一个应用程序中使用RestKit,我配置了映射器并且工作正常。我决定使用CoreData进行缓存,并使用通常的fecthController在表格View中显示核心数据模型。我的应用程序的第一个屏幕是一个具有三个选项卡的UITabViewController。在每个选项卡中,我都有来自不同实体的不同信息,我可以在选项卡之间切换并且一切正常。问题是当我在一个选项卡中进行搜索时,我丢失了其他选项卡中的数据。我深入研究了这个问题,并且看到了以下内容:当我搜索某些内容时,正在删除我的其他实体!!我尝试创建不同的上下文和一些与核心数据相关的东西,但没有任何效果。//Configuration
这是我的Message.swift文件:@objc(Message)classMessage:NSManagedObject{@NSManagedvarcontent:String@NSManagedvarcreatedAt:NSDate@NSManagedvaridentifier:Int64@NSManagedvarconversation:Conversation@NSManagedvarsender:ContributorvarnormalizedCreatedAt:NSDate{returncreatedAt.dateWithDayMonthAndYearComponents
我有一个NSFetchedResultsController显示来自CoreData的一些数据,我正试图让一个搜索栏与它一起工作。搜索有效,但是调用controller(didChangeObject:)时使用的是全表的索引路径,而不是过滤后的表,因此更新要么修改了错误的记录,要么因为索引路径超出范围而导致错误。尽管我知道这是错误的根源,但我不确定如何修复它。我的代码的主要部分如下:overridefunctableView(tableView:UITableView,cellForRowAtIndexPathindexPath:NSIndexPath)->UITableViewCel
我想在tableview上自动更新..为此我使用了NSFetchedResultsControlleraslazyvarfetchedResultsController:NSFetchedResultsController={//InitializeFetchRequestletfetchRequest=NSFetchRequest(entityName:"Student")//AddSortDescriptorsletsortDescriptor=NSSortDescriptor(key:"grade",ascending:true)fetchRequest.sortDescript
我正在尝试在属性发生变化时对其运行Setter,这也会影响该类中的逻辑:这是它在Objective-C中的样子:@property(strong,nonatomic)NSFetchedResultsController*fetchedResultsController;为fetchedResultsController设置方法:-(void)setFetchedResultsController:(NSFetchedResultsController*)newFetchResultsContrller{NSFetchedResultsController*oldfetchResults
重构为VanillaUIViewController而不是拥有UITableView在事件和非事件之间切换UISearchController,我重构为VanillaUIViewController用UISearchBar在顶部和一个UITableView就在它的正下方。我想做的是切换fetchedResultsController在具有由searchBar中的文本设置的谓词和抓取所有内容的谓词之间。我找到了这个答案,它描述了Objective-C中类似问题的解决方案,并作为我重构Swift项目的基础:如何使用UISearchDisplayController/UISearchBar过
我遇到了NSFetchedResultsViewController的问题。这是我的设置。我的应用程序rootViewController是一个TabBarController。连接到我的UITabBarController的是两个ViewController(所以我有2个选项卡)。与每个选项卡关联的UIViewControllers都有容器,我在其中嵌入了另一个UIViewController。这些UIViewControllers之一有一个UITableView,我试图用来自CoreData的数据填充它。因此,为了填充UITableView,我使用了NSFetchedResults
在我的ViewController中,我有一个已实现的fetchedResultsController并且一切正常(显示行、多个部分、获取等)。但是当我尝试更新或删除部分中的最后一行时出现错误(当我说“最后一行”时,我的意思是该部分中只剩下一行)。如果该部分中有不止一行,当我更新它的值(在CoreData中)时,它不会发生任何错误。我读过this,this和this但它对我没有帮助(解决方案已过时),而且我还没有在StackOverflow和互联网上找到任何解决我的问题的方法。我需要帮助。我正在使用Xcode8.3.3和Swift3。这是我在尝试更新tableView的任何部分中的“唯
(更新:在下面的编辑4中,我确实找到了问题的原因!)我正在使用带有NSFetchedResultsController的tableView。这就是我获取数据的方式(我在viewDidLoad()中调用它):letfetchRequest:NSFetchRequest=Entry.fetchRequest()letsortSections=NSSortDescriptor(key:#keyPath(Entry.section),ascending:false)letsortDate=NSSortDescriptor(key:#keyPath(Entry.date),ascending:t
我正在开发一个小应用程序来学习CoreData。这些是CoreData的实体。extensionPerson{@NSManagedvarfirstName:String?@NSManagedvarlastName:String?@NSManagedvarage:NSNumber?@NSManagedvarpersonToBook:NSSet?}extensionBooks{@NSManagedvarbookName:String?@NSManagedvarbookISBN:String?@NSManagedvarbookToPerson:Person?}该应用程序是一个人员列表。属于列