如何在应用程序退出时清除SQLite数据库?

时间:2011-09-05 07:22:41

标签: iphone objective-c ios sqlite

在我的应用程序中,我希望在应用程序退出时完全清除SQLite数据库的内容。我该如何实现呢?

4 个答案:

答案 0 :(得分:3)

你可以在appdelegate文件中编写这个方法。

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

答案 1 :(得分:0)

你可以在appdelegate方法中使用sqlite中的delete语句,在下面的方法中编写完成代码,或者你可以在applicationdidenterbackground appdelegate方法中使用它。

- (void)applicationWillTerminate:(UIApplication *)application 

答案 2 :(得分:0)

您可以使用applicationWillTerminateapplicationWillEnterBackground

重要的是要注意的是,在模拟器上,如果您的应用程序正在运行,并且您从Xcode再次构建和运行,则该过程将被终止。它不会很好地终止并通过你的退出功能。

如果您按下模拟器上的主页按钮,则会调用applicationWillEnterBackground,如果您双击保持按钮并从多任务底座终止您的应用,则会调用applicationWillTerminate

答案 3 :(得分:0)

如果它在iphone中支持,你可以使用drop table,或者你必须从db的路径中删除yourDB.sqlite文件。

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

这将从应用中删除您的文件。