我已将数据存储到plist(文档目录)中,并从plist中检索数据并显示在表视图中。现在我想删除plist,当我关闭我的应用程序。我怎样才能做到这一点?。我已经删除了控制器中的plist。但是我在关闭申请后如何删除plist。
例如:
FirstViewController.m:
-(NSString *) saveFilePath::(NSString *)tagString
{
NSArray *arr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *strPath = [[arr objectAtIndex:0] stringByAppendingPathComponent:tagString];
return strPath;
}
如果我想删除控制器中的plist,我已经使用了这段代码,
[[NSFileManager defaultManager] removeItemAtPath:[self saveFilePath:tagString] error:NULL]; (Where do i put this code into my delegate method?)
但是当我的应用程序关闭时,我想删除plist。因为我以前只是暂时在我的控制器中插入。所以我想删除它?我关闭我的应用程序时有没有可能删除plist?
请指导我!
感谢。
答案 0 :(得分:1)
将您的代码放在Appdelegate类中的applicationWillTerminate方法中。
- (void)applicationWillTerminate:(UIApplication *)application {
[[NSFileManager defaultManager] removeItemAtPath:[self saveFilePath:tagString] error:NULL];>
}
此外,不会在多任务支持设备上调用applicationWillTerminate。因此,您必须在info.plist中添加UIApplicationExitsOnSuspend键。关于这一点的更多信息
答案 1 :(得分:1)
除了Anil所说的,还可以考虑使用NSCachesDirectory而不是NSDocumentDirectory。当用户同步他的手机时,会备份NSDocumentDirectory的内容。 NSCachesDirectory旨在用于像您这样的临时文件,因此在用户同步时不会备份它。