最近,我在我的iPhone應用程序中實現了一個使用SQLite的緩存組件。 我正在編寫和閱讀本機W/O任何包裝框架的數據。 問題是,在使用該應用程序一段時間後,它開始獲取SQLITE_CORRUPT狀態代碼以響應我在數據庫中執行的任何SQL語句。iPhone中的SQLITE_CORRUPT問題
我使用的SQLiteManager作爲我的DB MGMT工具。當數據庫損壞時,我試圖通過SQLiteManager進行分析和檢查,但它甚至不允許我瀏覽表中的數據,只是輸出一條說明數據已損壞的簡明消息。
任何人都可以用這一個幫助?首先 - 數據庫如何處理這種情況,其次 - 我怎樣或從哪裏可以看到數據?
感謝, 蓋伊。
你將有權發佈你,如果你希望其他人能夠幫助你處理緩存的代碼。 但是,是否有一個很好的理由不使用NSUserDefaults來做你正在做的事情?或者甚至只是在應用的文檔目錄中維護一個plist文件?不知道你的意思是什麼「緩存組件」,但是除非你真的必須使用sql,否則sql是一種痛苦(當你需要時,我會使用核心數據而不是直接處理SQL)。 – CharlieMezak 2011-05-18 13:21:43
感謝您的評論@CharlieMezak。 plist和NSUserDefaults對我來說不夠好,因爲我需要一個比保存鍵值條目更復雜的機制。我檢查了核心數據,但我並不需要模擬我的實體並實現O \ R映射,所以它也不適合。我只剩下原生的SQL ... – Guys 2011-05-19 07:06:39
您可能不需要核心數據的某些功能,但至少您不必擔心直接與SQL打交道。我會直接跳過SQL包裝並直接轉到核心數據。它很乾淨,很簡單,如果你發現你需要它們,它就具有更高級的功能。 – CharlieMezak 2011-05-19 13:08:56