2011-12-23 201 views
0

我目前正在使用Xcode 4.2.1和iOS 5. 我試過使用SQlite3,但我無法插入或更新任何數據,因爲我總是遇到這個錯誤「嘗試寫入只讀數據庫」。 搜索後,我發現這是與蘋果有關的事情,您不能將數據庫複製到Documents目錄以便可寫!存儲和檢索數據

有沒有其他簡單的方法來解決這個問題或使用另一種方法來存儲數據?

謝謝

+1

您可以將數據庫複製到您的Documents目錄並使其可寫入。如果您嘗試過並且無法使用,請向我們展示您的代碼。 –

回答

1

建議:您應該將它保存到庫/緩存目錄。這是爲了不被iTunes或iCloud備份。我只是說這是因爲我的應用因爲這個原因而被拒絕。

iOS Data Storage Guidelines

NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; 
2

是的,有一種存儲數據的多更好方法:核心數據。如果你有興趣,這是一個good place開始。

蘋果幾乎已經丟棄了幾乎所有關於SQLite的文檔,並切換到Core Data。核心數據也有性能提升,所以不是就沒有理由使用它。

+0

是不是建立在SQLite之上的核心數據? – Oli

+0

@Oil是的,但仍然有性能提升,管理起來更容易。 –

+2

此外,由於CoreData是一種抽象,如果Apple決定在將來使用除sqlite以外的任何技術,它仍然會工作:) – jerrylroberts

1

它是蘋果設備在文檔目錄中處理讀/寫文件的標準方式。如果它位於應用程序資源中,則無法寫入任何文件,並且必須將其複製到文檔目錄以向其寫入任何內容。