大家都知道ios的设计模型应该说严格按照MVC设计模式来做的。
MVC模型分为M(模型)、V(视图)、C(控制器)。由于视图和控制器的分离,为了解决视图和控制器交互的问题,ios就引入了输出口和操作的概念。
一、概念解释:
输出口:控制器类可以通过一种特殊的属性来引用nib文件中的对象,这种属性称为输出口,可以把输出口看成是指向nib文件的对象的指针,例如:我们可以通过输出口来获得IB中的各种控件的属性,这样我们就可以在代码中操作界面。
操作:nib文件中的控件可以触发控制器中的代码片段,这个过程称为操作。例如:可以设定当用户点击一个按钮时,可以触发一个特定的方法,这个方法可以完成用户的相关事务。
二、语法格式:
输出口:输出口是一种特殊的OC属性,用关键字IBOutlet来声明,输出口是在控制器类的头文件中声明的:
@property (nonatomic,retain) IBOutlet UIButton *mybutton;
这个声明了一个mybutton的输出口,可以设置它指向IB中的任何一个Button,通过mybutton这个对象,我们就可以获得该Button的相关属性。
就编译器而言,IBOutlet并未执行任何操作,他唯一的作用就是告诉xcode,这个属性将用于关联nib文件中的对象。对于你所创建的任何需要关联至nib文件中的对象属性,都必须在其前面加上IBOutlet关键字。
操作:操作是由特殊返回类型IBAction声明的方法,该返回方法高数IB这个方法可以被nib文件中的控件触发。声明如下:
-(IBAction) dosomething:(id)sender;或者是:-(IBAction) dosomething
这两种声明没有什么本质区别,sender的作用是让开发人员能够使用一个操作方法来响应多个控件。
就讲到这里,谢谢大家,原文链接