Emp*_*ess 2 core-data nsfetchedresultscontroller swift
我正在NSFetchedResultsController用抽象类的fetchRequest 实例化一个:
private func setupFetchController() {
let fetchRequest : NSFetchRequest<NSFetchRequestResult> = SearchEntity.fetchRequest()
let fetchController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: context, sectionNameKeyPath: nil, cacheName: nil)
self.fetchController = fetchController
}
Run Code Online (Sandbox Code Playgroud)
该SearchEntity是一个抽象父类的Person和Group。我用它能够获取1的2个实体NSFetchedResultsController。但是,调用此函数时,应用程序崩溃:
libc ++ abi.dylib:以类型为NSException的未捕获异常终止
我将其范围缩小到取消评论和评论的创建NSFetchedResultsController。我还有另外2个功能完全相同的样式。
我在做什么/错了吗?
编辑:添加到此。我可以手动取得SearchEntity只要使用context.performFetch(...)这给了我正确的结果。但是,因此,要搜索名称,所以我需要能够高效更新。
编辑2:
在其他地方起作用的相同功能的示例:
private func setupFetchController() {
let fetchRequest : NSFetchRequest<NSFetchRequestResult> = Person.fetchRequest()
// Sort Persons
let sortDescriptor = NSSortDescriptor(key: "firstName", ascending: true)
let sortDescriptor2 = NSSortDescriptor(key: "lastName", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor, sortDescriptor2]
// Filter Persons (only iType = 1)
let predicate = NSPredicate(format: "iType == %i", 1)
fetchRequest.predicate = predicate
// Create the FetchController
let fetchController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: context, sectionNameKeyPath: "sectionName", cacheName: nil)
self.fetchController = fetchController
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
159 次 |
| 最近记录: |