在iphone的开发中利用 Interface Builder 工具节省了开发时间提高了开发效率。下面就是我对IB这个工具的一点理解:
1、IB可以看成是Model跟View之间的桥梁,负责view上显示数据,而数据的封装基本上是在Model层来实现的。
2、IB里面的东西实际上都是一个个的实例对象,当执行UIApplicationMan函数启动后会自动创建,当然了View里面的控件也不例外。
3、IB里面的File's Owner 实际上就是充当Controller的角色。要与实际上创建的Controller类向关联起来。
4、当我们继承UIViewController类或者实现某个控件独有的UIViewController时,这个UIViewController类默认关联相应的UIViewController.xib文件。
当然这里的.h类和.xib文件的名字是一样的,如果文件名不一样我们也可以在Tools->Inspector-> class 属性中进行配置。
5、在UIViewController类里成员变量的实例化基本上都是在File'Owner 和 View之间进行连线关联的,包括一些监听事件触发都是通过连线进行配置。
6、如果不想通过IB进行实例化对象,也可以用代码的方式进行创建,不过这个一般都要在方法viewload()方法中进行实例化,不要忘记第一行要继承
父类的默认的这个方法。如果用了IB还想添加其他的控件则要在viewdidload()方法里面进行设置。当然了数据的初始化一般也会在这两个方法中进行
装载。
7、关于File's Owner里面的具体的内容: Outlets 描述的是UIViewController.h里面声明的IBOutlet成员变量。
Received Actions 描述的是IBAction 不同的触发事件,这个是由不同的控件的不用监听事件连线过来的。
Referencing Outlets 描述的是Outlets对象类(成员变量类)里面声明的成员变量
8、这里还有一个地方会让人看起来感到有点别扭,就是连线生成的右边的表示,我这里理解为右边的表示方式为左边变量的来源。这个变量是声明在那个
类里面的就显示谁的。而这个源实际上是.xib 里面显示的名称,而不是关联上的class类名。
9、最后一点要说的是 MainWindow.xib里面File's Owener Controller控制器是委托给Delegate的,这个比较特殊。以后都是自个来管理的。
或许也正是因为这样的设计才使得苹果开发变得方便快捷,它将MVC的思想发挥的淋漓尽致,由此不得不佩服苹果了。