请在此快速帮助: - )
我已经用我的Documents Directory的内容填充了一个UITableView,我可以从目录中删除所有文件。
现在当我删除文件时,用户看到的内容列表仍然相同,直到我重新加载视图才会显示这些文件确实消失了。
我按照下面的代码使用了:
[_mainTableView reloadData];
[_mainTableView beginUpdates]; & [_mainTableView endUpdates];
这些都不起作用,但是一旦这些文件消失,我需要刷新tableView。
[_mainTableView beginUpdates];
NSFileManager *fileMgr = [[NSFileManager alloc] init];
NSError *error = nil;
NSArray *directoryContents = [fileMgr contentsOfDirectoryAtPath:[self filePath] error:&error];
NSLog(@"FILES - %@", directoryContents);
if (error == nil) {
for (NSString *path in _mainDataArray) {
NSString *fullPath = [[self filePath] stringByAppendingPathComponent:path];
BOOL removeSuccess = [fileMgr removeItemAtPath:fullPath error:&error];
if (!removeSuccess) {
// Error handling
}
else if(removeSuccess)
{
[_mainTableView reloadData];
}
}
}
[_mainTableView endUpdates];
我还需要尝试其他任何事情吗?
答案 0 :(得分:0)
我认为您不需要创建NSFileManager
的新实例;改为使用:
[NSFileManager defaultManager];
第一个if条件if (error == nil)
将为true,因为错误为零,因此我认为它不会进入for循环
答案 1 :(得分:0)
您没有清空填充表格的数组。您正在使用数组中的数据删除文件夹中的项目,但不删除数组中的项目,因此,当然,表格仍然已填充。