打造应用界面:从代理对象到按钮交互的完整指南
1. 代理对象解析
在Cocoa的nib文件中,有三个特殊的代理对象,它们在文件加载时不会创建新的对象实例,但能实现nib文件内对象与已有对象的连接。
- 文件所有者(File’s Owner) :指向从磁盘加载nib文件的对象实例。在应用的 MainMenu.xib
文件中,它通常指向 NSApplication
类的实例,该类代表整个应用,负责接收输入并调用相应代码。对于其他nib文件,它可能指向文档类或插件类的实例。
- 第一响应者(First Responder) :指用户当前正在交互的对象。例如,当用户在文本框中输入时,该文本框就是当前的第一响应者。随着用户与界面的交互,第一响应者会发生变化。通过第一响应者图标,我们可以方便地与当前获得焦点的控件或视图进行交互,而无需编写代码来确定具体是哪个控件或视图。
- 应用代理(Application) :是Cocoa nib文件中较新的元素,指向应用唯一的 NSApplication
实例。在 MainMenu.xib
文件中,应用代理和文件所有者代理指向相同的对象。应用代理使我们可以从任何nib文件访问应用的 NSApplication
实例,即使该nib文件的文件所有者不是 NSApplication
。
2. 创建控制器实例
创建所需的控制器实例,可按以下