使用Xcode的模板,我们可以用最简单的方式创建应用程序,然后直接在Xib or StoryBoard上进行UI的设计,但这样一来就掩盖了,MVC 的一些细节.
我们使用Xcode 的空模板创建一个ISO工程, 就只有一个appdelegate对象. IOS 启动的点是在main 中,main里面创建一个UIApplication 对象,然后设置UIApplication 的delegate
对象,从而把UIApplication 接收到的事件传递给我们的delegate对象, appDelegate 对象是关联MVC 的地方.
我们可以在delegate 对象方法中实现C-V 的关联- (BOOL) application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
}
delegate 对象有一个window 属性,而该window就是整个应用的窗口,我们的IOS基本上都是单WINDOWS的, 而在Window中则关联了一个
@property(nonatomic, retain) UIViewController *rootViewController 属性.
refernce of Window link:
http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIWindow_Class/UIWindowClassReference/UIWindowClassReference.html
我们需要自己创建自己的RootViewController 继承自UIViewController, 再创建过程中可以选择同时创建.xib文件,也可以稍后创建, 也可以不创建. 如果不创建,则在初始化
RootViewController时候,可以用init 替换initWithNibName, 否则应该输入我们的xib名称.
如果不创建xib则需要自己手工在RootViewController中编写UI 对象.
这样我们就知道了最简单的MVC 中的V-C是如何关联的了.