我使用的核心數據,來節省一些整數(率),然後我打電話保存在上下文:核心數據不保存我的數據
HeartRateBeat * beat = [HeartRateBeat heartRateWithHeartRate:rate
ofRecordTitle:self.recordTitle
inManagedObjectContext:document.managedObjectContext];
NSError * error;
[document.managedObjectContext save:&error];
內部的方便的方法創建使用NSEntityDescription這樣的對象:
heartRateBeat = [NSEntityDescription insertNewObjectForEntityForName:@"HeartRateBeat" inManagedObjectContext:context];
(我只是複製了一些重要的代碼,只是爲了證明我做了什麼。)
我立刻執行獲取每一個心臟跳動插入之後請求和管理對象C ontext保存(我立即保存),並且請求顯示心跳似乎存儲在覈心數據內(心跳數越來越多),但是如果我重新啓動我的應用程序(我正在使用模擬器BTW),我知道事情並不是實際上因爲重新開始而被保存到磁盤。用SQLite3命令行檢查顯示空表。我在這裏錯過了什麼?
是的,我總是剛剛退出模擬器。我在我插入的每一行上調用上面代碼的'[managedObjectContext save:]''。但是我沒有調用UIDocument的'forSaveOperation:completionHandler:'如果db中已經有東西,它不會寫所有東西嗎? – huggie
事實證明這可行。謝謝。所以UidocumentSaveForOverwriting不會真的「覆蓋」? – huggie
我還沒有遇到任何性能問題,但我的數據集不是「大」 –