2013-09-25 128 views
0

我目前有一個iOS應用程序,它爲應用程序的數據後端提供了一個sqlite數據庫。這些數據基本上是一個信息清單。在這個應用程序中,我允許用戶將記錄標記爲書籤(在數據庫中設置一個值)。這裏的問題是,當我通過互聯網(通過軟件更新)嚮應用程序發佈更新以更改數據時,新下載的數據庫將清除舊數據庫,從而刪除用戶自定義設置。iOS編程建議請求REF sqlite/iOS應用程序設計

任何關於簡單的方法來搜索當前的sqlite數據庫的變化,臨時存儲他們,然後導入新的數據庫,並將更改傳輸到新的數據庫?我可以在使用sqlite DB後端的同時使用Core Data元素嗎?也許一個鍵/值對系統?

任何建議將不勝感激。

感謝

-LK

回答

1

我做它的方式是這樣的:

對於您的新版本,例如重命名文件.sqlite FOO-v2.sqlite。然後,在初始化期間,檢查舊版本的sqlite文件是否存在 - 如果是,請複製必要的信息,然後刪除舊的sqlite文件。

+0

我所做的更新是將新數據庫複製到一個臨時文件,IE tempfile.sql,然後一旦我驗證下載成功,我刪除舊的數據庫文件並將tempfile重命名爲預期的應用程序。在這個窗口中,我可以做一些我猜想的事情。最簡單的方法是打開這兩個sqlite文件並使用各種連接在它們上運行查詢,試圖弄清楚它或者甚至可能。我可以做的另一件事是在我刪除舊的數據庫文件之前,將所有記錄加載到鍵/值對中,然後替換數據庫並反向執行該過程。Thx用於建議.. – Lkabo

+0

如果您不想要要通過數據庫來完成,您還可以將信息存儲在鑰匙串或iCloud中。真的取決於你有多少。一般來說,我認爲只需打開另一個連接並同步數據庫就更簡單了。 –

+0

謝謝邁克,偉大的想法 – Lkabo