我是objective-c的初学者,想要实现一个简单的GUI:带有相应xib的MyMainWindowController
包含一个表和一个简单的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
可见时,似乎MyMainWindowController
是自动创建的(由IB?)。我想在MyMainWindowController
到AddressTvc
的代码中引用一个引用,这样我就可以用后台线程检索的一些数据来填充表格。这应该通过调用- (IBAction)add:(id)sender;
方法来完成。
我尝试在AddressTvc
内创建MyMainWindowController
,但随后对象初始化两次。我确定我必须把它连接到IB的某个地方,但不知道在哪里这样做......
答案 0 :(得分:1)
在 MyMainWindowController 类中创建一个可指向表视图控制器类的插座。
E.G。
@interface MyMainWindowController : NSWindowController
{
IBOutlet AddressTvc *myTVC
}
@end
然后只需控制+从文件所有者拖动到界面构建器中的表视图控制器的实例,您现在可以在窗口控制器代码中访问它。