1

我正在寻找一种方法来删除NSTableView.

表格视图有一个数据源,但它没有设置为变量,所以如果我需要一个数据源,我必须有类似“tableView 的数据源”之类的东西才能访问它。

4

7 回答 7

2

从数据源中删除所有项目或更改数据源。

然后打电话reloadData

于 2009-12-17T21:46:37.800 回答
1

呃,你不能主动“删除”单元格,你只能被动地停止提供它们。

于 2009-12-17T21:31:10.380 回答
1

您想要从数据源中删除所有项目或提供不同的数据源。您还可以提示 NSTableView 在您进行此类更改后它应该刷新。

于 2009-12-17T21:35:36.853 回答
0

也许您的问题的替代解决方案是使用数组控制器并将您的表列绑定到数组控制器。您的数组控制器可以控制字典数组,字典中的每个键代表表视图中的一列。

如果您有这样的设置,那么要清除表格视图,您只需清空阵列控制器正在控制的阵列。

于 2009-12-18T04:02:55.857 回答
0

@Rob Napier,AppleScript Studio 的数据源确实是一个对象,它存储我的信息,我只是无法访问它,因为它是用另一种语言编写的,但毕竟它是同一个对象。这不是我获取数据行的地方,而是存储它们的地方。

于 2009-12-18T13:30:10.467 回答
0

当您说“如果我需要数据源”时,听起来您对表视图的工作方式有误解。您确实了解编写了数据源,对吗?它不是 tableview 的一部分,而是 tableview 提出问题的代码的一部分。表格视图不保存数据。他们只是问你(数据源)有多少行,然后每行和每列有什么。

您可能想通读Table Views Programming Guide,它将详细介绍所有这些问题。

于 2009-12-18T00:47:36.347 回答
-1

In your method:

- (UITableViewCell *)tableView:(UITableView *)tableVIew cellForRowAtIndexPath:(NSIndexPath *)indexPath 

is the line like this:

cell.textLabel.text = [**YourArray** objectAtIndex:indexPath.row];

So, to delete all rows in a UITableView with Objective-C, use these two lines:

**YourArray** = nil;

[tableView reloadData];
于 2013-04-29T15:47:19.133 回答