2013-03-24 149 views
0

的FMDB文檔說,如果你傳遞一個文件系統路徑databaseWithPath:它會創建一個文件給你:FMDB databaseWithPath:不寫入磁盤

  1. 文件系統路徑。該文件不必在磁盤上存在。如果它不存在,它會爲您創建。

我得到這個代碼我的文件系統路徑:

[[NSHomeDirectory() stringByAppendingPathComponent:@"Desktop"] stringByAppendingPathComponent:@"file.db"]; 

,並試圖建立我的分貝,像這樣:

FMDatabase *aDB = nil; 

if (aLanguageDBPath) { 
     aDB = [FMDatabase databaseWithPath:aLanguageDBPath]; 
} 

的結果是一個有效FMDatabase對象ISN」 t被廣告寫入磁盤。我是否誤解了文檔中的解釋?我應該如何創建dbs並將其寫入磁盤?

謝謝!

回答

1

剛剛發現該數據庫實際上並不在磁盤上做,直到[db open];被調用。

0

嘗試使用NSDocumentDirectory。這種變化你的路徑代碼:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                NSUserDomainMask, 
                YES); 
NSString dbPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"file.db"]; 
+0

已經嘗試過。仍然沒有運氣。我在內存中獲得了db對象,但我無法將其寫入磁盤。 – Westley 2013-03-24 15:07:38