ISO MVC 结构代码呈现

使用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{

self.window = [[UIWindow alloc]
initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window makeKeyAndVisible];
self.rootViewController = [[RootViewController alloc]
initWithNibName:@"RootViewController"
bundle:NULL];
[self.window addSubview:self.rootViewController.view];
return YES;

}

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是如何关联的了.





你可能感兴趣的:(ISO MVC 结构代码呈现)