2011-07-11 30 views
0

我正在使用iOS應用程序,我想通過數據循環來檢查覈心數據數據庫中是否存在記錄。檢查覈心數據數據庫中是否存在記錄的最佳方法

我有大約100條記錄要循環查看記錄是否存在。

我應該使用NSPredicate在每個循環中進行一次獲取請求,還是應該爲數據庫中的所有項目提取一次請求,並將它們放入數組中並對數組進行檢查? 我想我真正的問題是設備上做什麼是昂貴的?

謝謝

+0

一些常規建議:核心數據不是SQL。實體不是表格。對象不是行。屬性不是列。關係不是連接。核心數據是一個對象圖管理系統,它可能會或可能不會持久化對象圖,並且可能會或可能不會在後臺使用SQL來做到這一點。試圖用SQL語言來思考覈心數據會導致你完全誤解核心數據,並導致很多悲傷和浪費時間。 – TechZen

回答

1

你應該做一個請求,通過使用快速迭代返回數組提取所有的記錄,然後循環。

我想我真正的問題是什麼是昂貴的設備上做?

這個問題的答案實際上是讓CoreData爲你做管理。它會將對象加載爲「故障」,這些「故障」不佔用太多內存,只在訪問它們時從數據庫加載它們。

對於100條記錄,假設您的對象尺寸合理,您不會以任何一種方式(性能或內存)達到限制。如果你的對象非常大(比如圖像),CoreData可能不是存儲它們的最佳方式。

+0

我可以使用NSpredicate從CoreData搜索返回的數組嗎? – iosdevnyc

相關問題