2011-07-31 16 views
0

我在Xcode中创建了一个包含两个nib文件的程序。每一个都包含一个单独的NSWindow。第一个是来自MainMenu.xib的启动程序。当我点击一个按钮,我用这个来加载我的第二个观点(从应用程序的委托):如何将委托设置为界面构建器创建的类?

myControl = [[NSWindowController alloc] initWithWindowNibName:@"ServerWindow"]; 
[myControl showWindow:self]; 

本次厦门国际银行(ServerWindow.xib)加载没有问题,而且它有一个ServerWindow。 h和ServerWindow.m连接到它(Draged在一个NSObject中,并将它指向IB中的这个类)

然后,我继续并在ServerWindow中进行一些设置,当我关闭此窗口时,我想将这些设置委托给我的原始类(应用程序委托)

问题是,虽然我没有创建我的类(ServerWindow.h)的实例,Interface Builder那些这在一些神奇的IB方式,当它加载XIB时,我无法设置我原来的类,因为它是委托。

如何将消息传回原始类?

回答

3

将一个对象拖到第二个xib中,然后在右侧/检查/属性面板中将该类设置为原始类。然后ctr单击 - 从控制器对象拖到刚创建的对象,并将其设置为委托。

0

我不太确定我是否正确理解你,但是你不能将自己设置为awakeFromNib甚至在Interface Builder中作为委托吗?您还可以访问WindowController的窗口属性以获取服务器窗口。

+0

我只会对以下事实发表评论:不,您无法轻松地从“接口”构建器设置“文件所有者”委托给自己。希望在viewDidLoad中,你总是可以'self.delegate = self;'。 –