2017-02-10 55 views
1

我有一個具有30個屬性的實體。
但我的視圖顯示對象的列表,它只需要一個實體的2個屬性。
當我獲取實體列表時,每個對象都有30個屬性,因爲我只需要2個屬性來顯示。
有沒有辦法只提取2個屬性的實體? (類似於創建視圖模型)使用CoreData的ViewModel

回答

2

是的。您可以使用NSFetchRequest中的propertiesToFetch屬性。

let fetchRequest = NSFetchRequest() 
fetchRequest.entity = NSEntityDescription.entityForName("ENTITY_NAME", inManagedObjectContext: managedObjectContext) 
fetchRequest.propertiesToFetch = ["property1","property2"] 
fetchRequest.resultType = .DictionaryResultType 

fetchRequest的resultType必須設置爲NSFetchRequestResultType.DictionaryResultType

而且你會得到字典對象數組而不是NSManagedObject對象。

+0

是否可以設置屬性將被設置的鍵?就像一個自定義模型類 – Satyam