我对NSTableView
的问题很奇怪,因为当我将项目从xCode5
升级到xCode3
时。
如果我添加新行,则视图会正确更新并显示新行。但是,如果我删除现有行,则表格视图不会更新,我需要关闭并重新打开窗口以查看更新的项目列表。
用作数据源的NSTableView
和NSArrayController
都包含在xib文件中。要添加和删除行,我通过添加和删除对象来操作数组控制器。这是删除项目的代码:
[[[self creatorsArrayController] selectedObjects] makeObjectsPerformSelector:@selector(remove)];
[[self creatorsArrayController] remove:sender];
显然,旧程序员出于某种原因使用这两种方法。我也尝试删除这两行中的一行,但没有任何改变。
代码在xCode的早期版本中运行得很好,我怀疑在xib文件中升级后可能会有一些更改,但我不能它是什么。
感谢
答案 0 :(得分:0)
要更新tableView,请使用
[yourTableViewOutletName reloadData];
删除行后
答案 1 :(得分:0)
你正在使用的两行中的第一行对我来说没有多大意义(但我真的不知道,因为在那一行中remove
消息被发送到被删除的对象,也许这在你的应用程序中很重要),无论如何它似乎与从数组中删除对象无关。
你提供的信息很少,所以很难确定,但这里有几个想要检查:
removeObject
或removeObjectAtArrangedObjectIndex:
。)