iOS 应用程序运行相关(一)

来源:互联网 发布:查看淘宝退款率 编辑:程序博客网 时间:2024/05/06 02:50


(1)iOS项目加载流程:

操作系统发消息给应用程序的主函数 —> 主函数调用系统函数(UIApplicationMain作用为启动应用程序) —> 加载启动类AppDelegate —> 启动类AppDelegate调用启动方法(didFinishLaunchingWithOptions)


(2)main函数, 一般情况下,不需要做修改

#import <UIKit/UIKit.h>

#import "AppDelegate.h"


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

    @autoreleasepool {

       

        /**

         *  argc  main函数中参数,由操作系统传入,总的参数个数(如运行输出1

         *  argv  main函数中参数,由操作系统传入,其中第0个参数是程序的全名(如,运行输出:0x00007fff5f4c3648其中 

                    argv[0]输出:"/Users/xiaoping/Library/Developer/CoreSimulator/Devices/AF356101-2C40-47EA-9BD7-3FB5CB616140/data/Containers/Bundle/Application/786C7C3D-478B-40D3-999E-A304E9D6A167/WPTest.app/WPTest"

         *  nil   UIApplication的实例对象或其子类的实例对象,nil为系统自动设置为UIApplication的实例对象

         *  NSStringFromClass([AppDelegate class])     AppDelegate的实例对象,是程序的入口类

         */

        returnUIApplicationMain(argc, argv,nil,NSStringFromClass([AppDelegateclass]));

    }

}



(3)UIWindow

窗体类,充满整个屏幕,在iOS APP中有且仅有一个窗体类,是所有视图的最底层。


0 0