像標題一樣。我使用核心數據插入項目,我插入100個項目,它太慢了。如何提高插入速度?具有交易功能的核心數據?ios核心數據如何實現sql事務功能?
6
A
回答
5
在插入所有100個對象(而不是每次插入後)之後,您正在尋找的內容是核心數據中的save
。
當對象被插入到核心數據中時,它們只存在於內存中。要將新對象保存到光盤,您應該保存將進行所有更改(插入,更新和刪除)並將它們寫入光盤的光盤。
如果你看一下the documentation for -insertObject(如下圖),你可以讀取插入對象只針對註冊更改時,保存插入的對象。
insertObject:
註冊到接收器的持久性存儲的下一次改變被保存插入的對象。
- (void)insertObject:(NSManagedObject *)object
參數
對象
管理對象。
通過進一步觀察the documentation for -save:(如下圖),你會本身,它會(嘗試)保存所有的未保存的改變,在你的情況下,所有100個插入項目。
節省:
嘗試提交到註冊的對象未保存的更改自己的持久化存儲。
- (BOOL)save:(NSError **)error
參數
錯誤
一個指向
NSError
對象。您不需要創建一個NSError
對象。如果您通過NULL
,保存操作將在第一次失敗後中止。返回值
YES
如果保存成功,否則NO
。
+0
這也很慢,因爲交易的速度增加會丟失。無論如何修改呢? – Jonny 2015-01-29 11:05:59
3
[[<#NSManagedObjectContext#> undoManager] beginUndoGrouping];
... do some data modifications ....
[[<#NSManagedObjectContext#> undoManager] endUndoGrouping];
[[<#NSManagedObjectContext#> undoManager] undo]; // rollback
...
相關問題
- 1. 如何實現核心數據
- 2. 核心數據功能
- 3. 應用程序使用核心數據 - 如何實現「打印報告」功能?
- 4. 單核實體核心數據性能
- 5. IOS /核心數據:從實體
- 6. 實體繼承 - 核心數據的iOS
- 7. iOS核心數據如何泄漏?
- 8. 核心數據編輯功能
- 9. 核心數據iCloud事務日誌
- 10. 使用WCF + SQL服務器同步iOS核心數據
- 11. 如何實現iOS提醒功能?
- 12. iOS的:核心數據取
- 13. iOS核心數據 - 關係
- 14. 對核心數據的iOS
- 15. iOS:核心數據滯後...?
- 16. 核心數據轉換iOS
- 17. iOS核心數據NSRangeException
- 18. iOS核心數據加密
- 19. iOS GHUnit和核心數據
- 20. iOS核心數據「視圖」
- 21. 核心數據錯誤iOS
- 22. 如何從實例到核心數據?
- 23. 核心數據,如何讓實體ID
- 24. iOS核心數據如何正確初始化實體關係?
- 25. 核心數據和「喜歡」的實體之間的功能
- 26. 核心數據功能的最佳實踐
- 27. 使用NSXMLParser和核心數據更新實體的功能
- 28. 核心數據謂詞:謂詞未實現SQL生成
- 29. 核心數據未實現SQL生成謂詞
- 30. iOS:在覈心數據中使用GCD和核心數據
你能告訴我們你是如何創建你的項目? – sosborn 2012-03-16 07:30:35