Q
核心數據提取
0
A
回答
1
只需運行您的提取請求,然後使用valueForKey:
來提取所有屬性值。如果您的模型包含很多對象,則可以通過這些項目設置提取限制和偏移(以及排序描述符)爲頁面。當你這樣做的時候,你也應該設置獲取請求,不要將對象作爲錯誤返回。
只記得有一個選擇。您可以設置要獲取的屬性,然後將結果類型設置爲NSDictionaryResultType。你仍然需要做迭代,但是這會返回可能的最小數據。
0
編輯:我想我誤解了你的問題。看來你只想獲取一個對象的屬性,而不是對象本身(例如屬性而不是實體)?我不認爲核心數據會以這種方式工作......它是一個對象圖而不是數據庫,就像上面提到的人一樣。研究核心數據如何「故障」,在需要時自動檢索依賴對象。我留下了下面的建議,以防它仍然適用,儘管我不確定它會如何。
您可以添加一個謂詞到您的搜索中,以便僅獲取符合特定條件的對象;它就像一個「if」語句一樣工作。下面是蘋果的文件:
和教程: http://www.peterfriese.de/using-nspredicate-to-filter-data/
所有這一切說,必要性確實取決於你有多少對象獲取。如果它不會導致任何性能下降,那麼獲取一些不需要的對象並不一定是錯誤的。換句話說,解決問題 - 不要「優化」工作正常的事情。但是,如果您的模型包含大量對象,則將它們全部獲取並且您想要使用謂詞可能會很昂貴。
0
您只能獲取整個對象,但您只能在獲取請求中使用nspredicate獲取具有微小屬性的對象。請參閱代碼段中的Xcode代碼片段。在查找字段中查找提取請求,並用nspredicate代碼拖出代碼片段。您可以將謂詞設置爲僅查找滿足此謂詞的對象。希望這可以幫助!
相關問題
- 1. 使用核心數據提取數據
- 2. 核心數據中提取的屬性
- 3. 提取時的核心數據錯誤
- 4. 核心數據保存和提取
- 5. 加速核心數據提取
- 6. 組合核心數據提取
- 7. 核心數據提取中的NSInternalInconsistencyException
- 8. 從核心數據中提取
- 9. 從核心數據中提取日期
- 10. 核心數據提取謂詞的NSDate
- 11. 排序核心數據提取結果
- 12. AFIncrementalStore和大量核心數據提取
- 13. 核心數據提取非常緩慢
- 14. 核心數據:取
- 15. 無法從核心數據提取數據sqlite數據庫
- 16. 提取核心數據實體,但不提取子實體
- 17. Swift - 用iCloud核心數據取代核心數據
- 18. iOS的:核心數據取
- 19. 核心數據 - 復取
- 20. 核心數據鑽取表
- 21. 從核心數據中提取數據時出錯
- 22. 從核心數據循環陣列和提取數據
- 23. 提取核心數據中的關係數據
- 24. 從核心數據分配提取的數據到UIPickerView
- 25. 核心數據iCloud提取有時不會產生數據(iOS)
- 26. 無法從核心數據中提取保存的數據
- 27. 如何提取核心數據中的數據關係?
- 28. 客觀c - 取數據(核心數據)
- 29. 核心數據讀取數據
- 30. iPhone - 核心數據中獲取數據
如果可能,你應該建立一個類別實體,然後建立與食品的關係。 – sosborn 2013-04-20 23:48:06
你有沒有嘗試過適合你的任何東西? – 2013-04-22 18:30:35
@DavidRönnqvist是的,我只是取得所有的實體,並篩選出重複的結果 – Vikings 2013-04-26 00:42:35