从代码中显示两个项目NSTableView的最简单方法是什么?

时间:2011-12-06 18:12:15

标签: objective-c cocoa nstableview

如何在XCode 4.2.1中创建代码什么会创建NSTableView并只添加几个项目?

我想做的就是: 1)窗口在哪里是NSTableView 2)我在NSArray中有一个字符串数组,我想在NSTableView中显示 3)所有这一切都应该在代码中完成。因此,我不想学习如何在按下按钮时添加此操作(我知道在用户单击按钮等时已经执行了操作),我只想要启动应用程序 - >绘制表格中我的数组中的那些项目。就是这样,仅此而已。

是的,我明白我不会直接向NSTableView添加项目。这不是这个问题的重点。我的意思是我想在该表中显示几个项目,但我没有任何线索,我应该从我的数组中添加我的数据。

我已经尝试谷歌示例页面几个小时(太多而且没有找到帮助)但我总是会被困在这个部分 a)我必须在Interface Builder中做一些事情,接口构建器的图像来自版本2.x或3.x而且我有4.2.1并且它完全不同(XCode的新特性......)。当然我已经将我的TableView元素绘制到UI但我的意思是代表团等等。那些是必要的吗?那些可以用源代码制作吗? b)代码不再起作用,因为语言(Cocoa或Objective-C,我不知道)已经改变,我不知道如何以及如何使它在最新版本的XCode上运行。 c)有太多不同的方式告诉:“使用绑定”,“你必须创建新的类是什么是NSTableViewDataSource”等我没有任何线索什么是首选方式,是另一种方式可选或它是“你应该使用这是因为另一个很快就会被弃用“或其他什么。

那么请问,有人可以一步一步地提供帮助,我必须要做什么吗?我应该创建一些绑定吗?如果是这样,怎么样和在哪里?我是否必须自己创建DataSource组件?这些方式是否有效?如果必须,我怎么能创造它?创建一个新类并将其实现为NSTableViewDataSource然后使用它?这种方式是否有效,如果是的话,sombody显示代码尽可能简单吗?

我也多次检查Apple文档页面,检查了那些示例代码,但是有太多完全不相关的东西,我现在还不明白,所以它们完全无用(我的意思是,我不是知道这项任务需要什么,不是什么等。

如果有人可以帮助您逐步完成教程,我将非常高兴。我的意思是“一步一步”,如: 1)创建新项目 2)在项目中绘制NSTableView 3)使用此名称创建新类 4)写下这段代码:blah blah blah 5)使用此名称创建另一个类 6)写下这段代码 7)使用(bindings / datasource /无论什么是首选)运行并在NSTableView中从数组中查看这些项目。

谢谢:)

1 个答案:

答案 0 :(得分:1)

您的tableview需要一个数据源。您的数据源是一个自定义类,它实现了“NSTableViewDataSource”协议。该协议包含一些方法,您可以使用这些方法告诉tableview您获得了哪些数据。

这包括objectValue(在指定行上显示数据的NSCell的值,以及返回tableview具有的行数的方法(数组中的项目数量)。

这是我通过Google搜索找到的教程: CocoaDev.com NSTableView tutorial

您还可以实施 NSTableViewDelegate 协议,该协议允许更好的控制。像您可以选择哪些行,或者自定义tableview单元的一些额外配置。

我必须说,在我开始开发桌面应用程序(仅具有Web技术经验)的那一天,这种设计模式也让我感到困惑。希望你能尽快理解它。