我有一個.db文件,在複製到Documents目錄後得到0 KB的大小,而原始文件爲137KB時出現問題。我試圖在SQLite Manager中打開我的複製文件。它打開,不會投訴文件損壞......它只是不包含單個表。如果沒有副本,將sqlite文件複製到Documents文件夾後,文件變空
- (void) createEditableDatabase
{
BOOL success;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSString *writableDB = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@"yc_ch.db"];
success = [fileManager fileExistsAtPath:writableDB];
if (success)
{
return;
}
NSString *defaultPath = [[NSBundle mainBundle] pathForResource:@"yc_ch" ofType:@"db"];
error = nil;
success = [fileManager copyItemAtPath:defaultPath toPath:writableDB error:&error];
if (!success)
{
NSAssert1(0, @"Failed to create writable database file:%@", [error localizedDescription]);
}
}
檢查,如果文件中存在:
我的代碼複製該文件。檢查發生在RootViewController的的
- (void)viewDidLoad
{
self.subCountriesArr=[[NSMutableArray alloc]initWithCapacity:1];
NSMutableArray *subCountriesTemp=[[[NSMutableArray alloc]init]autorelease];
DBAccess *dbAccess=[[DBAccess alloc]init];
[dbAccess createEditableDatabase]; //method to copy file
subCountriesTemp=[dbAccess getSubCountries];
[dbAccess closeDataBase];
[dbAccess release];
}
所以,這對我來說是陌生的。請幫忙嗎?先謝謝你。
不,它沒有幫助。我仍然是空的db – NCFUSN
你確定它是一個乾淨的副本?我的應用程序以某種方式緩存了數據庫,即使當我清理應用程序時......我不得不手動刪除應用程序目錄以便它再次安裝... – Ron
我做到了。我試圖刪除iPhone模擬器,他們我手動刪除另一個試用版。沒什麼幫助。每一個新的新編輯帶給我另一個0KB數據庫。 – NCFUSN