我正在Xcode中创建一个有两个nib文件的程序。每个人都有一个单独的NSWindow。第一个是来自MainMenu.xib的启动。当我点击其中的按钮时,我使用它来加载我的第二个视图(来自app delegate):
myControl = [[NSWindowController alloc] initWithWindowNibName:@"ServerWindow"];
[myControl showWindow:self];
第二个XIB(ServerWindow.xib)加载没有问题,它有一个ServerWindow.h和ServerWindow.m连接到它(在NSObject中Draged并指向IB中的这个类。
然后我继续在ServerWindow中进行一些设置,当我关闭此窗口时,我想将这些设置委托给我原来的类(App委托)。
问题是,虽然我没有创建我的类的实例(ServerWindow.h),但是当它加载XIB时,Interface Builder以某种神奇的IB方式创建它,我不能将我原来的类设置为它的委托。
如何将邮件传回原来的班级?
答案 0 :(得分:4)
将对象拖到第二个xib中,然后在右侧/检查/属性面板中将类设置为原始类。然后ctr单击 - 从控制器对象拖动到刚创建的对象并将其设置为委托。
答案 1 :(得分:0)
我不太确定我是否理解正确,但您不能在awakeFromNib
或甚至在Interface Builder中将自己设置为委托吗?您还可以访问WindowController的窗口属性以获取服务器窗口。