在我的应用程序中,我希望在应用程序退出时完全清除SQLite数据库的内容。我该如何实现呢?
答案 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)
您可以使用applicationWillTerminate
或applicationWillEnterBackground
。
重要的是要注意的是,在模拟器上,如果您的应用程序正在运行,并且您从Xcode再次构建和运行,则该过程将被终止。它不会很好地终止并通过你的退出功能。
如果您按下模拟器上的主页按钮,则会调用applicationWillEnterBackground
,如果您双击保持按钮并从多任务底座终止您的应用,则会调用applicationWillTerminate
。
答案 3 :(得分:0)
如果它在iphone中支持,你可以使用drop table,或者你必须从db的路径中删除yourDB.sqlite
文件。
NSFileManager *fMgr = [NSFileManager defaultManager];
[fMgr removeItemAtPath:dbPath error:NULL];
这将从应用中删除您的文件。