刚开始学IOS开发,发现ios的mvc架构很清新。
我们都知道,通过xcode的模板可以创建基于View-based application,为我们生成了xib文件(界面),也就是View,以及响应的Controller类。
其实这个Controller类就是对应这个View的,而且一般是一对一的关系。
在Controller里面,我们可以声明变量和方法,并可以指定为IBOutlet 或 IBAction。
那我们为啥要指定(IBOulet 和 IBAction)呢?
其实很简单,当我们启动这个应用后,应用会加载这个xib文件,并生成界面呈现给用户。系统为应用生成一个循环的事件监听器,就是用来接收用户的各种触摸事件以及应用的系统级事件(比如:内存警告,应用切入后台等)。当用户触摸产生事件时,若需要执行特定的程序(一般肯定需要执行特殊程序),就必须指定特定方法,并与此事件关联。
所以这里就需要将这个元素所触发的这个事件需要同具体的方法关联,其实就是同Controller中的IBAction方法关联。而关联操作是利用Interface Builder的拖动操作完成的。
那么,关联了界面中元素与Controller的方法后,若在该方法中需要操作某些界面上的元素,比如:Label中文字的修改等。那么我们必须先在Controller中声明一个IBOutlet变量,并将之同界面中Label关联起来,关联操作也是利用IB工具完成的。
最后我们得知,在Controller中声明IBAction和IBOutlet是为了应用启动后,能够被程序访问、调用以完成动态交互的功能。
上面的view是通过xib文件,利用IB工具可视化布局的。还有一种View是完全通过编写代码生成的。一般过程是在loadView中构建。
先构建最外的UIView,在里头添加其他各种视图元素,比如: 按钮,文本等。添加事件也有相应的方法。
我们都知道,通过xcode的模板可以创建基于View-based application,为我们生成了xib文件(界面),也就是View,以及响应的Controller类。
其实这个Controller类就是对应这个View的,而且一般是一对一的关系。
在Controller里面,我们可以声明变量和方法,并可以指定为IBOutlet 或 IBAction。
那我们为啥要指定(IBOulet 和 IBAction)呢?
其实很简单,当我们启动这个应用后,应用会加载这个xib文件,并生成界面呈现给用户。系统为应用生成一个循环的事件监听器,就是用来接收用户的各种触摸事件以及应用的系统级事件(比如:内存警告,应用切入后台等)。当用户触摸产生事件时,若需要执行特定的程序(一般肯定需要执行特殊程序),就必须指定特定方法,并与此事件关联。
所以这里就需要将这个元素所触发的这个事件需要同具体的方法关联,其实就是同Controller中的IBAction方法关联。而关联操作是利用Interface Builder的拖动操作完成的。
那么,关联了界面中元素与Controller的方法后,若在该方法中需要操作某些界面上的元素,比如:Label中文字的修改等。那么我们必须先在Controller中声明一个IBOutlet变量,并将之同界面中Label关联起来,关联操作也是利用IB工具完成的。
最后我们得知,在Controller中声明IBAction和IBOutlet是为了应用启动后,能够被程序访问、调用以完成动态交互的功能。
上面的view是通过xib文件,利用IB工具可视化布局的。还有一种View是完全通过编写代码生成的。一般过程是在loadView中构建。
先构建最外的UIView,在里头添加其他各种视图元素,比如: 按钮,文本等。添加事件也有相应的方法。