草庐IT

NSFetchedresultscontroller

全部标签

ios - 刷新 NSFetchedResultsController 数据?

我可以在我的应用程序中创建新的托管对象,在一个单独的View中,我有一个表格View,它显示了我拥有的所有对象。当我创建一个新的托管对象(在一个完全独立的View中)时,我发送了一个通知,试图让我的TableView重新加载新数据,其中包括我刚刚创建的新对象。我没有编辑表格View。只有一个托管上下文。我无法理解我做错了什么。如果我关闭应用程序并重新启动,我的新对象就会出现在表格View中。当我收到创建新对象的通知时,我试图调用reloadData,我也尝试再次执行提取,但我最终得到的只是一个空TableView。在代码方面,我的ListViewController:@interfac

iphone - NSFetchedResultsController 忽略 fetchLimit?

我有一个NSFetchedResultsController来用核心数据中的内容更新UITableView。这是非常标准的东西,我相信你们都看过很多次,但是我遇到了一个小问题。首先是我的代码:NSFetchRequest*fetchRequest=[[NSFetchRequestalloc]init];NSEntityDescription*entity=[NSEntityDescriptionentityForName:@"Article"inManagedObjectContext:self.managedObjectContext];[fetchRequestsetEntity:

core-data - 带有谓词的 NSFetchedResultsController 忽略从不同 NSManagedObjectContext 合并的更改

我正在使用具有谓词的NSFetchedResultsController呈现TableView内容:[NSPredicatepredicateWithFormat:@"visible==%@",[NSNumbernumberWithBool:YES]]在使用单独的NSManagedObjectContext的后台线程上,我更新了一些实体并将它们的visible值从NO更改为YES。保存、合并主线程的NSManagedObjectContext中的更改。但是NSFetchedResultsController的fetchedObjects没有改变。此外,Controller不会在委托(d

ios - 核心数据 viewContext 未使用 NSFetchedResultsController 从 newBackgroundContext() 接收更新

在我的应用程序中,我有一个NSFetchedResultsController用于在UITableView中加载核心数据对象。与此FRC关联的提取请求使用可用于NSPersistentContainer(iOS10)的新viewContext属性。当我选择一个单元格时,我将核心数据对象传递给一个新的ViewController。这个新的VC仍然使用viewContext。从这个ViewController中,我可以更新以模态方式呈现的ViewController中的核心数据对象。为此,我将newBackgroundContext()用于模态ViewController。我可以毫无问题地

unit-testing - 如何在 Swift 中对 NSFetchedResultsController 进行单元测试

我有一个Swift应用程序,它使用NSFetchedResultsController从持久存储中获取List对象:letfetchedResultsController:NSFetchedResultsController=...varerror:NSError?fetchedResultsController.performFetch(&error)ifleterror=error{NSLog("Error:\(error)")}letlists:[List]=fetchedResultsController.fetchedObjects!as[List]NSLog("listsc

ios - 通过 NSManagedObjectSubclass 上的 Swift 计算属性对 NSFetchedResultsController 进行排序

我正在使用Swift和CoreData构建一个应用程序。在我的应用程序中的某个时刻,我想要一个UITableView显示当前在持久性存储中的所有类型的对象。目前,我正在检索它们并使用NSFetchedResultsController在TableView中显示它们。我希望TableView按我的NSManagedObject子类的计算属性排序,如下所示:classMHClub:NSManagedObject{@NSManagedvarname:String@NSManagedvarshots:NSSetvaraverageDistance:Int{get{ifshots.count>0

ios - 如何在 Swift 4 中为 NSFetchedResultsController 编写扩展

我正在尝试为Swift4中的NSFetchedResultsController类编写一个简单的扩展。这是我的第一次尝试-在Swift3中有效:publicextensionNSFetchedResultsController{publicfuncsectionCount()->Int{ifself.sections==nil{return0}returnself.sections!.count}}但是我在使用Swift4的Xcode9beta2中遇到了这个编译错误:ExtensionofagenericObjective-Cclasscannotaccesstheclass'sgen

ios - 核心数据 NSFetchedResultsController 在设备上进行 batchUpadate 后未更新,但在模拟器上正常

我有一个NSFetchedResultsController来管理我的UITableView数据源。我正在尝试使用NSBatchUpdateRequest修改名为amountToCompute的NSManagedObject的属性。所以我创建了批量更新:letbatchUpdate=NSBatchUpdateRequest(entityName:"MyEntity")batchUpdate.propertiesToUpdate=["amountToCompute":newAmount]batchUpdate.resultType=.UpdatedObjectIDsResultType我

ios - NSFetchedResultsController XCode 7 问题

Xcode7beta6和NSFetchedResultsController今天让我头疼。如果我用Xcode6编译相同的代码(使用Swift2修复),程序可以在设备和模拟器(iOS7、iOS8)上运行。但是,如果我使用Xcode7beta6进行编译,则每当我更新CoreData时,程序都会在设备(iOS8.4)上崩溃并显示以下错误消息。我收到类似下面的错误CoreData:error:Seriousapplicationerror.AnexceptionwascaughtfromthedelegateofNSFetchedResultsControllerduringacallto-c

swift - Swift 3 中的 NSFetchedResultsController deleteCache

目前正在迁移到swift3并且无法完全弄清楚解析器想要什么NSFetchedResultsController.deleteCache(withName:"rootCache")使用这种语法,我得到了“Type'String?'”构建时不符合协议(protocol)“ExpressibleByStringLiteral”错误。 最佳答案 错误信息具有误导性。从swift3开始,NSFetchedResultsController是泛型openclassNSFetchedResultsController:NSObject{}以下应该