Note_Master-Detail Application(iOS template)_03_main.m

// main.m

#import <UIKit/UIKit.h>//UIKitk框架提供一系列的Class(类)来建立和管理iPhone OS应用程序的用户界面( UI )接口、应用程序对象、事件控制、绘图模型、窗口、视图和用于控制触摸屏等的接口

 

#import "YJYAppDelegate.h"

 

int main(int argc, char *argv[])

{

    @autoreleasepool {//Cocoa内存管理的黄金定律:如果我使用了new、alloc或copy方法获得一个对象,则我必须释放(release)或自动释放(autorelease)该对象

        NSLog(@"main() begin....");

        return UIApplicationMain(argc, argv, nil, NSStringFromClass([YJYAppDelegateclass]));

/*

*UIApplicationMain函数,它接收四个参数,并将它们用于初始化应用程序。传递给该函数的缺省值并不需要修改,但是它们对于应用程序启动的作用还是值得解释一下。

除了传给main函数的argc和argv之外,该函数还需要两个字符串参数,用于标识应用程序的首要类(即应用程序对象所属的类)和应用程序委托类。

如果首要类字符串的值为nil, UIKit就缺省使用UIApplication类;

如果应用程序委托类为nil,UIKit就会将应用程序主nib文件(针对通过Xcode模板创建的应用程序)中的某个对象假定为应用程序的委托对象。

如果您将这些参数设置为非nil值,则在应用程序启动时,UIApplicationMain函数会创建一个与传入值相对应的类实例,并将它用于既定的目的。

因此,如果您的应用程序使用了UIApplication类的定制子类(这种做法是不推荐的,但确实是可能的),就需要在第三个参数指定该定制类的类名。

*/

    }

}

 

备注:

1、IOS UIKit框架类之窗口和视图架构介绍-----参考:http://www.th7.cn/Program/IOS/201208/86523.shtml

2、UIKit框架的介绍 -----参考:http://blog.csdn.net/henry_sea/article/details/6710668

3、objective-C 的内存管理之-自动释放池(autorelease pool)-----参考:http://stephen830.iteye.com/blog/1461354

4、UIApplicationMain函数做了什么-----参考:http://hi.baidu.com/chenchangxin/item/4441b6292d60ed8d9c63d1b9

5、iOS5编程 -- main函数研究-----参考:http://blog.csdn.net/nicktang/article/details/6796932

 

posted @ 2014-03-25 14:38  MShineRay  阅读(419)  评论(0编辑  收藏  举报