2011-09-05 95 views

回答

3

你可以在appdelegate文件中寫這個方法。

- (void)applicationWillTerminate:(UIApplication *)application { 
    [[NSFileManager defaultManager] removeItemAtPath:[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"<your db with extention>"]] error:NULL]; 
} 
+0

感謝您的幫助,我試了一下。但問題仍然存在,每次構建和運行應用程序時,以前的內容仍然存在 – sajaz

+0

首先,請查看項目中包含的rsd文件。我認爲它已經充滿了記錄。從那裏刪除所有記錄。 –

+0

並且不要直接關閉模擬器,只需按回車鍵就可以再次啓動模擬器。你會發現從數據庫中刪除所有數據。 –

0

可以使用delete語句在源碼中的appdelegate方法,寫完成的代碼在下面的方法,也可以在applicationdidenterbackground的appdelegate方法使用它。

- (void)applicationWillTerminate:(UIApplication *)application 
0

您可以使用applicationWillTerminateapplicationWillEnterBackground

重要的是要注意的是,在模擬器上,如果您的應用程序正在運行,並且您從Xcode再次構建並運行,則該流程將被終止。它不會很好地終止並通過您的退出功能。

如果您按下模擬器上的主頁按鈕,則調用applicationWillEnterBackground,如果您然後雙擊保持按鈕並從多任務停靠站終止您的應用程序,則將調用applicationWillTerminate

0

如果在iphone中支持,您可以使用drop table,或者您必須從db的路徑中刪除yourDB.sqlite文件。

NSFileManager *fMgr = [NSFileManager defaultManager]; 
[fMgr removeItemAtPath:dbPath error:NULL]; 

這將從應用程序中刪除您的文件。

相關問題