1
有沒有人知道當保存返回錯誤(即缺少插入對象的必需屬性)時插入NSManagedObject會發生什麼?插入的NSManagedObject是否仍然存在或者是否消失?插入的NSManagedObject在無法保存時會發生什麼?
我讀過,即使驗證失敗時插入的對象仍然得到保存,但很好奇,如果應用到一個失敗的保存。 (Core Data saves object even when validation fails)。
有沒有人知道當保存返回錯誤(即缺少插入對象的必需屬性)時插入NSManagedObject會發生什麼?插入的NSManagedObject是否仍然存在或者是否消失?插入的NSManagedObject在無法保存時會發生什麼?
我讀過,即使驗證失敗時插入的對象仍然得到保存,但很好奇,如果應用到一個失敗的保存。 (Core Data saves object even when validation fails)。
如果保存失敗,它將保留在內存中(只要上下文仍然存在),但是將NOT寫入磁盤。
鑑於保存失敗的99.999%,可進行測試,捕獲和發展過程中糾正,沒有理由寫產品代碼,以防止此事件。在開發過程中測試並解決所有保存錯誤,您無需擔心這種情況。
僅供參考;在您不能控制的情況下,有0.001%的機會與電源故障/磁盤故障有關。不是你可以防止的東西。
嗯......有時它是有道理的作用不同,例如,如果你有一個的NSDate * LASTUPDATEDATE(保存在NSUserDefault爲例),表示你與API同步的最後時間,你與API請求發送到具有在該日期之後進行更改的差異,您可能需要設置「lastUpdateDate」以防萬一保存不失敗,以便始終授予您的更新以成功保存。 – Daniele
這是一個開發人員級別的事件。你把代碼放在那裏來處理。我並不是說這完全是魔法和作品。我所說的所有會導致''保存:'失敗的東西都可以在生產之前進行測試並作出反應。 –
如果保存失敗,我會拋出異常並崩潰。 @ MarcusS.Zarra是對的,保存應該永遠不會失敗。 –