MainWindow,ViewController,AppDelegate关系


对程序加载顺序和MainWindow,ViewController,AppDelegate三者关系一直比较糊涂,今天通过例子悟到一点,

以下都是我的愚见,请高手猛拍


一:先说程序加载顺序:

1.main()函数直接启动了AppDelegate委托(目的是继承大量实用的方法)


2.之后AppDelegate委托一般都会使用

- (BOOL)application: didFinishLaunchingWithOptions:方法

调用[self.windowaddSubview:XXXXViewController.view]; 添加子视图


3.XXXXViewController一般有- (void)viewDidLoad等方法

继续延迟加载,直到启动过程完成,等待用户操作


4.如有操作,UI控件通过IBAction告知XXXXViewController处理

5.循环处理



二:再说说三者的内容

AppDelegate:

是项目中有且只有一个的,高层控制(直接从项目层面控制)并不直接处于MVC中


MainWindow.xib:

UIWindow继承于UIview,相当于一个画框,是程序默认的默认视图,里边还定义了各个方法的连接

等待往里添加UIview,View就相当于画布(画布能更换)。由画框和画布组成MVC里的V


ViewController:

项目中的核心,MVC的C,中控部分。

视图的操作集中到此,再由里边的方法决定如何处理,处理完指挥视图变化。

为了使用大量管理方法(如通知等)需要符合UIApplicationDelegate协议,也就是受委托于XXXAppDelegate





你可能感兴趣的:(iOS编程练习,uiview,mvc,application,ui,c)