第12章 Nib Files and NSWindowController
本章实现的功能就是在菜单栏单击“preference”菜单后,弹出一个NSPanel类型的窗口。通过这个例子了解如何手动装载一个已经定义好的nib文件。
12.1 创建一个属性窗口
1.在mainmenu.nib文件中
单击“preference”菜单之后,触发AppController里的showPreferencePanel函数。这个函数会创建一个preferenceController类型的对象,并且会发送showWindow到该对象。preferenceController是自己创建的新类,继承自NSWindowController.
2.在preference.nib文件中
preferenceController类型的对象被创建后,里面就包含了preference.nib资源。showWindow函数使得preference.nib文件被加载,同时显示preference窗口。当该窗口内的控件被用户触发后,会发送相应的action给preferenceController对象,从而执行该对象相应的函数。
12.2 NSBundle
bundle是一个程序资源的集合。通过NSBundle定义的函数可以获取其它程序的资源为我所用。
本章的练习中,使用
[NSBundle loadNibNamed:@"preferences" owner:preferenceController]
来加载nib文件, 显示属性窗口。