【发布时间】:2010-12-06 16:32:59
【问题描述】:
我是 Objective-C 和 Cocoa 编程的新手(来自多年前在其他平台上的 C/C++ 开发背景)。我正在编写一个应用程序以重复下载远程数据(即每 X 秒),解析它,将其排序/过滤到 NSArray,并在 NSTableView 中显示/更新所述数据。在阅读了几本书、大量 Apple OS X 参考资料并进行了实验之后,我设法实现了一切(远程数据下载、解析/过滤逻辑、内存存储等),除了用数据实际更新 NSTableView .
我不确定我是否只是遗漏了一些明显的东西,或者我的应用程序应该如何按照 MVC 概念布局,或者 Interface Builder 缺乏实际代码生成只是我不习惯的,但我似乎无法确定如何以编程方式访问/操作在 Interface Builder 中创建的 NSTableView。
我尝试(在 Interface Builder 中)将我的基于 NSArray 的对象的 NSObject 实例拖入其中,然后我可以连接我的 NSTableView 的 Outlet/数据源,但这会导致我的基于 NSArray 的对象的另一个实例(未连接NSTableView 到我现有的、以编程方式声明和实例化的对象)。同样,我想以编程方式设置我的 NSTableView 的数据源,但我无法确定如何以编程方式引用存储在 .xib/.nib 文件中的 NSTableView 对象,而不是通过标签(对此我无法在 Interface Builder 中设置我的 NSTableView 的 Tag 值后,确定从哪个对象调用 viewWithTag: 方法)。
我们将不胜感激任何建议、意见或指导。这感觉像是其中一件非常简单的事情(一旦我把它放在我面前,它就会变得更有意义),但我似乎无法找到一个起点/示例工作。
【问题讨论】:
-
你的班级头文件中有
IBOutlet NSTableView吗? -
我建议您购买一本 iPhone 初学者开发书籍,因为它涵盖了这些项目中的典型过程 - 创建标题、分配 IBOutlets、运行 IB、将 GUI 附加到 IBOutlets 等。跨度>
-
...或至少阅读 Apple 免费提供的介绍性文档,直接从 developer.apple.com 页面链接...
-
我完成了多个使用 Interface Builder 的示例,但所有示例都围绕从一个控件触发更新到其他控件的操作(其中数据始终存储在 Interface Builder 中所有设置的对象中)。在我的例子中,我已经在一个以编程方式实例化的对象中有数据(没有任何用户输入)。我可以通过 NSLog 等将其显示出来,但我不明白如何将其“连接”到 GUI 以显示它。我知道这一定很简单,我只是没有抓住或抓住。感谢大家花时间回答。
标签: objective-c cocoa interface-builder nstableview