一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

iOS工程文件main.m详细解析

时间:2016-06-16 编辑:简简单单 来源:一聚教程网

iOS工程文件main.m其实就是一个OC一个类的.m文件,为什么我们看到这个文件的时候不能立刻知道这个文件是一个OC类的.m文件呢?

因为1.OC类一般首字母大写

2.OC类一般都有.h文件

先说在Xcode7.3新建工程里的main.m文件

#import //载入UIKit框架里的UIKit.h文件,其实只为一个UIApplication.h里的UIApplicationMain C语言函数
#import "AppDelegate.h"//载入AppDelegate.h文件,其实只为一个OC方法NSStringFromClass需要的参数- -,个人感觉各种小题大做了
 

 代码如下 复制代码
int main(int argc, char * argv[]) {
    @autoreleasepool {
        //根据控制台上打印的信息可知:
        NSLog(@"argc = %d",argc);//int argc是 1
        
        NSLog(@"argv[] count = %lu",sizeof(argv)/sizeof(argv[0]));//C char数组计数为1
        NSLog(@"argv[0] = %s",argv[0]);//打印字符串可知argv[0]是一个路径
 
        NSLog(@"bundlePath = %@",[NSBundle mainBundle].bundlePath);//和[NSBundle mainBundle].bundlePath打印的结果对比可知,argv[0] == [NSBundle mainBundle].bundlePath为真
        //想深入了解argc,argv可参考以下网址
        //http://wenku.baidu.com/link?url=xNNFYFd3kGS0fj79e_hKbQnnO6t_TIuBln8DMuNQ-k7OQyJ9uFtzy5hpPKcwKKU3Ck1EyacMg8ybrPmH5VtdUShsL_eM2NRqi0BJlgCl5dy
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));//UIApplicationMain返回一个int类型的数字,NSStringFromClass([AppDelegate class])其实这个方法返回值就是一个NSString对象@"AppDelegate",完全可以直接写成@"AppDelegate"
    }
}

控制台信息:

 代码如下 复制代码

argc = 1
argv[] count = 1
argv[0] = /Library/Developer/CoreSimulator/Devices/EA9E0AE1-9EE8-4246-AA72-F39ED66FD2F7/data/Containers/Bundle/Application/AE119964-3712-4C12-8FA7-ACB8D663E59B/TestApp.app/TestApp
bundlePath = /Library/Developer/CoreSimulator/Devices/EA9E0AE1-9EE8-4246-AA72-F39ED66FD2F7/data/Containers/Bundle/Application/AE119964-3712-4C12-8FA7-ACB8D663E59B/TestApp.app
//省略部分个人信息

超级精简版main.m(测试可正常运行程序)

 代码如下 复制代码


#import
 
int main(int argc, char * argv[]) {
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, @"AppDelegate");
    }
}

热门栏目