2011-03-17 46 views
2

1)單擊實體的索引屬性是否會在輸入數據時自動創建該屬性的索引,而不需要輸入索引?關於核心數據實體索引的問題

2)如果一個條目從中間被刪除,例如索引號爲3 ..那麼新索引將會是0 1 2 4 5 6 ..或者它會自動更新爲0 1 2 3 4 5 ...... ??

3)如何刪除單個條目說..行ID 3 ??

4)如何編輯任何ID的現有條目?

thnx提前; )

回答

4

1)索引由Core Data自動處理。你什麼也不做。

2)不知道,不關心,因爲核心數據處理它。

3)你沒有。核心數據不是SQl的包裝,也不涉及表和行。核心數據使用對象。當您刪除對象時,Core Data會將其從商店中刪除。

4)通過編輯特定管理對象的屬性來編輯數據。

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

+0

thnx的幫助 – Zaraki 2011-03-18 04:09:46

+0

此CoreData不是SQL的東西是一箇舊的比喻,讓我疲憊不堪。是的,它並沒有給你所有的SQL功能,但大多數人使用SQL後端來處理它,當他們遇到性能問題時,這是一個很自然的地方。事實上,蘋果認爲這種方式太明顯了。如果你轉到CoreData性能調優部分,他們建議你設置:-com.apple.CoreData.SQLDebug 1,這樣你就可以分析你自己生成的SQL。所以是的,它到底是SQL。 – 2012-09-07 15:41:44

4

使屬性可索引是一個性能選項。它不會添加可從應用程序訪問的可排序索引。它所做的是使該屬性更快地搜索是否使用SQLite存儲。