绑定 UI 和代码

初学 iOS 开发,无论书籍还是教学视频都会先教我们怎么绑定一个 UI 元素的响应事件到代码中的某个方法(IBAction),或是指定代码的成员变量(IBOutlet)到 UI 元素。一般我们有以下步骤:

  • 创建新的 ViewController 类,并声明成员变量;

    @interface ViewController : UIViewController
    @property (nonatomic, assign) IBOutlet UIButton *button0;
    @property (nonatomic, assign) IBOutlet UILabel *title;
    - (IBAction)onButton:(id)sender;
    @end
    
  • 在对应的 Interface Builder 上拖入想要的控件,一个 UIButton,一个 UILabel

  • 按住 Control,从 Class 拉线到 IB 上,连接 IBOutlet,或者按住 ControlIB 拉线到 Class 绑定响应事件;

IBOutlet IBAction

刚开始可能觉得很有趣,很神奇,开发时间一长发现全是苦力活。事实上代码可以先不写,先把界面搭好就行了!

  1. 拖放好控件元素,并设置好 Class
  2. 打开辅助编辑器(Assistant Editor);
  3. 按住 ControlIB 拖放想要连接的元素到 interface 之间,连接 IBOutlet,到 implementation 之间,绑定响应事件。

快速连接

是不是快很多?

如果你已经写了实现方法怎么办?没关系,按住 ControlIB 直接连过去就好了(实现需要标记为 IBAction):

连接已有实现

或者从 implementation 前面的 空心小圆 上拉线到 IB 也行的。

连接已有控件