我正在以这种方式删除路径上的文件:
UIPanGestureRecognizer *gesture = (UIPanGestureRecognizer *)sender;
UIButton *button = (UIButton *)gesture.view;
[[(UIPanGestureRecognizer*)sender view] removeFromSuperview];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [paths objectAtIndex:0];
NSString *myFilePath = [documentsDirectoryPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@", button.titleLabel.text]];
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager removeItemAtPath:myFilePath error:NULL];
[self ReloadBusinessCards];
然后我调用方法 [self ReloadBusinessCards];它将重新加载文件。问题是碰巧删除文件需要很长时间(0.5秒)并且之前调用了该方法。我想防止这种情况发生,但我不认为将 NSTimer 设置为 1 秒是个好主意。例如,因为如果应用程序运行速度较慢,则文件可能会在更多时间后被删除。有没有一种方法可以在文件被删除时通知您?
将删除方法包装在if()
陈述。-removeItemAtPath:
返回一个 BOOL,以便您可以检查它是 YES 还是 NO。
if ([fileManager removeItemAtPath:myFilePath error:NULL]) {
[self ReloadBusinessCards];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)