2016-03-05 29 views
0

我有基類Workerxcdatamodeld子類EmployeeBookkeeperDirector和實體他們。 現在我想用NSFetchedResultController將它們取爲tableView,以便每個部分中的每個實體。 我不知道如何做到這一點單frc。 任何幫助。獲取與他們之間的關係多個實體與一個NSFetchedResultController

enter image description here

+0

[NSFetchedResultsController和實體繼承(的可能的複製http://stackoverflow.com/questions/9620954/ nsfetchedresults控制器和實體繼承) –

回答

1

NSFetchedResultsController可以用一個實體一次只能工作。這對你來說可以,因爲你的類繼承了工作者實體,但是你不能提供一個可以確定將用於這些部分的子類型的keypath。我建議的解決方法是向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) 
+0

我有一個新的問題,因爲你的答案:) http://stackoverflow.com/questions/35827064/nsfetchedresultscontroller-section-number-is-0和我不知道這裏的謂詞是什麼? –

+0

謂詞是可選的,但如果你沒有它,你總會找回給定實體的所有東西。 –

相關問題