0

我是objective-c 的初学者,想实现一个简单的GUI:AMyMainWindowController带有相应的xib,其中包含一个表格和一个简单的Add按钮。

@interface MyMainWindowController : NSWindowController
{
}
@end

控制器的实现代码几乎是空的(预定义的 initWithWindow 和 windowDidLoad)。是这样定义的AddressTvc

@interface AddressTvc : NSObject <NSTableViewDataSource>
{
  @private
    IBOutlet NSTableView *myTableView;
    NSMutableArray *list;
}
- (IBAction)add:(id)sender;
@end

这工作正常。我可以单击Add按钮并在表中插入一个新行。

在此处输入图像描述

当可见时,它似乎AddressTvc是自动创建的(由 IB?) 。MyMainWindowController我想在 to 的代码中引用,MyMainWindowController这样AddressTvc我就可以用后台线程检索到的一些数据来填充表格。这应该通过调用- (IBAction)add:(id)sender;方法来完成。

我试图在AddressTvc里面创建一个,MyMainWindowController但随后对象被初始化了两次。我确定我必须将它连接到 IB 中的某个地方,但不知道在哪里执行此操作...

4

1 回答 1

1

在您的MyMainWindowController类中创建一个可以指向您的表视图控制器类的插座。

例如

@interface MyMainWindowController : NSWindowController
{
    IBOutlet AddressTvc *myTVC 
}
@end

然后只需从文件所有者控制+拖动到界面生成器中的表视图控制器的实例,您现在可以在窗口控制器代码中访问它。

于 2012-06-03T07:36:08.630 回答