我在更新tableView
时遇到了问题。
在rootviewcontroller
管理的弹出窗口的tableView中,显示了我的文档目录中的一些项目。在detailViewcontroller
中,我使用NSFilemanager
更改了这些文件的名称。无论我做什么,tableView都不会显示新的。如果我关闭应用程序并再次打开它,我会看到它们。目前,我尝试使用通知,但它不起作用......
修改
我记录了我的文档目录,它绝对不是一个tableView问题,而且,它运行良好,但第二次输入一些文本,没有任何反应......
- (void)textFieldDidEndEditing:(UITextField *)tf
{
textLabel.text = textField.text;
NSString* newName = textLabel.text;
newName = [newName stringByAppendingPathExtension:@"txt"];
NSString* newPath = [[currentFilePath stringByDeletingLastPathComponent] stringByAppendingPathComponent:newName];
NSLog(@"%@",newPath);
[[NSFileManager defaultManager] moveItemAtPath:currentFilePath toPath:newPath error:nil];
[[NSNotificationCenter defaultCenter] postNotificationName:@"DataSaved" object:nil];
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self.tableView initWithFrame:self.tableView.frame style:UITableViewStyleGrouped];
self.clearsSelectionOnViewWillAppear = NO;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dataSaved:) name:@"DataSaved" object:nil];
}
- (void)dataSaved:(NSNotification *)notification
{
[self loadDirectoryContents];
[self.tableView reloadData];
}
答案 0 :(得分:1)
[self.tableView initWithFrame:self.tableView.frame style:UITableViewStyleGrouped];
这条线看起来有点可疑。你是如何构建你的tableview的?
答案 1 :(得分:0)
当我输入某些内容时,它会有效。但是如果我第二次输入内容而没有在tableView中选择任何内容,则fileManager不会将项目移动到路径中。有什么建议?它似乎不是一个与tableView相关的问题。
我还以为我需要设置:
currentFilePath = newPath;
但这给了我一个EXC_BAD_ACCESS。