我有基类Worker
和子类Employee
,Bookkeeper
和Director
以及xcdatamodeld
中的实体。
现在我想使用NSFetchedResultController
将它们提取到tableView
中,以便每个部分中的每个实体都可以。
我不知道如何用单个frc做到这一点。
任何帮助。
答案 0 :(得分:2)
NSFetchedResultsController
一次只能与一个实体一起使用。由于您的类继承自工作者实体,但您无法提供可确定将用于这些部分的子类型的键路径,因此对您来说没问题。我建议的解决方案是向Worker
实体添加一个类型属性,它可以是一个简单的Int
,然后在每个子类中将初始化期间的值设置为每个的不同值类型。例如。
directorInstance.type = 1
...
employeeInstatnce.type = 2
然后定义您的NSFetchedResultsController:
var fetchRequest = NSFetchRequest(entityName: "Worker")
fetchRequest.predicate = NSPredicate(format: "lastName contains[cd] %@", nameSearchTerm)
var frc = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: moc, sectionNameKeyPath: "type", cacheName: nil)