实现用户交互:Cocoa应用中的出口与动作
在Cocoa开发中,前两个应用程序缺少了大多数应用所需的重要功能——与用户交互的能力。虽然在Interface Builder中有很多如文本框和按钮这样的对象可用于组装界面,但如果无法得知它们何时被使用或更改其包含的数据,这些用户界面对象就毫无用处。本文将介绍如何通过对象的出口(outlets)和动作(actions)让用户与应用程序进行交互。
1. 声明出口和动作
Cocoa使用出口和动作将用户界面中的对象与代码中的对象连接起来。出口是指向nib文件中对象的指针,允许代码访问和操作nib中的对象;动作是我们编写的方法,可直接由用户交互触发,如点击按钮或选择菜单项。出口和动作通常包含在控制器类中。
1.1 声明出口
出口是使用特殊关键字 IBOutlet 声明的Objective - C实例变量。例如,控制器类可以这样声明一个指向可编辑文本字段的出口:
@property (weak) IBOutlet NSTextField *nameField;
在代码中, nameField 是指向我们在Interface Builder中关联的任何文本字段的指针。一旦出口与对象关联,我们就可以检索或设置其值、隐藏它、禁用它或执行该对象支持的任何其他操作。
Xcode生成的出口代码中包含 (weak) 属性,这意味着控制器不“拥有” nameField ,如
Cocoa应用:出口与动作实现用户交互
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



