`
fantom
  • 浏览: 140324 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IOS main函数

ios 
阅读更多
Xcode4.2前的main:

int main(int argc, char *argv[])
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
}



Xcode4.5的main
int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, nil]));
    }
}


  UIApplication是初始化程序的核心,它接受4个参数。
  其中argc和argv两个参数来自于main()接受的两个参数;另外两个String型参数分别表示程序的主要类(principal class)和代理类(delegate class)。
  如果主要类(principal class)为nil,则默认为UIApplication;如果代理类(delegate class)为nil,则程序假设程序的代理来自Main nib文件。如果这两个参数任意一个不为nil,则UIApplicationMain()函数则会根据参数创建相应的功能类。
  因此,如果程序中使用自定义的UIApplication类的子类(不建议继承UIApplication类建立自定义的子类),你需要将你的自定义类名作为第3个参数传进来。

IOS 声明周期:


  • 大小: 43.2 KB
分享到:
评论

相关推荐

    C++上机实验二

    定义三角形(Triangle)、矩形(Rectangle)和圆形(Circle)三个形状类。编写一个程序,能够根据用户输入生成相应的形状类对象。将形状的信息输出到显示器和文件中。具体说明如下:

    App的整个启动过程(曹理鹏@iCocos)

    App的整个启动过程,性能优化 ... Main函数之前苹果还为我们的App做了哪些操作? OC项目中怎么使用Swift重写AppDelagate? UIApplication&UIApplicationMain;背后做了什么? 如何优化App启动过程?

    iOS , mac signal exception catch

    iOS , mac signal exception catch .

    老生常谈iOS应用程序生命周期

    开发应用程序都要了解其生命周期。...main函数的两个参数,iOS中没有用到,包括这两个参数是为了与标准ANSI C保持一致。UIApplicationMain函数,前两个和main函数一样,重点是后两个,官方说明是这样

    详解iOS应用程序的启动过程

    一个程序从main函数开始启动。 代码如下: int main(int argc, char * argv[]) {  @autoreleasepool {  return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));  } } 可以看到main...

    iOS 面试题

    NSOperation是在网络上用的多写 继承NSOperation 实现了main函数 Blocks是也是工作线程 5.请描述ios开发中 xml解析涉及的类 我在开发中用json比较多 6.请简述 kvo及其优势 可以观察某个变量的变化 7.请 分别...

    深度解析iOS应用程序的生命周期

    所有基于C编写的App的入口都是main函数,但iOS应用程序有点不同。不同就是你不需要为iOS应用程序而自己编写main函数,当你使用Xcode创建工程的时候就已经提供了。除非一些特殊情况,否则你不应该修改Xcode提供的main...

    为什么一些人写c++代码,前面会加上std::ios::sync_with_stdio(false); cin.tie(0);这两句话??

    int main(){ std::ios::sync_with_stdio(false); cin.tie(0); return 0; } 可以增强cin和cout的效率。 在做acm一些题时,经常出现 数据集超大造成 cin读入过多 超时的情况。 这是因为在c++中cin,cout虽然方便...

    ios-水波纹刷新效果.zip

    调用 func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) { //拖拽时,开始执行 if waveView.startWave() { DispatchQueue.main.asyncAfter(deadline: DispatchTime.now...

    阿里数据iOS端启动速度优化心得

    7月26号我们阿里数据iOS端发布了4.4.0版本,这次版本主要是优化了性能,其中main()阶段的启动耗时优化成果比较明显,从之前的0.5-0.7秒,降低为目前的0.1-0.2秒(main()第一行代码到didFinishLaunchingWithOptions...

    xmljava系统源码-NIiOS:iOS端常用知识点总结:Object-C

    i、「目前主要做iOS客户端开发」一直没有好好沉淀记录下自己学习东西;这里把目前主要做的iOS端常用知识点总结下,便于后续开发拿来直接用; ii、后续会陆续贴出完整的复习笔记,有需要联系作者; (二十八) iOS Tencent...

    简单的计算器应用.swift

    在main函数中,通过循环获取用户输入并进行计算,直到用户选择退出。 这个案例展示了Swift的枚举、函数、流程控制和用户输入等基本概念。它适合那些想要学习Swift语言基础知识并通过实际编程练习来提升技能的人群。...

    奇董的微信小程序--iOS弱鸡摸黑入门

    首先,我们iOS程序程序的入口是main函数制定appdelegate进入程序循环======在小程序中我们可以创建一个app.js文件,在其中调用app()的方法 app.js //app.js App({ onLaunch: function () { }, getUserInfo:...

    iOS-GCD详解及简单使用

    iOS-GCD 介绍 在开发过程中,我们有时会希望把一些操作封装起来延迟一段时间后再执行。iOS开发中,有两种常用的方法可以实现延迟执行,一种是使用GCD,另外一种是使用NSRunLoop类中提供的方法。 前言 对初学者来说,...

    浅谈iOS开发中static变量的三大作用

    当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。 下面是a.c的内容 char a = 'A'; // global...

    详解iOS多线程GCD问题

    在iOS所有实现多线程的方案中,GCD应该是最有魅力的,因为GCD本身是苹果公司为多核的并行运算提出的解决方案。GCD在工作时会自动利用更多的处理器核心,以充分利用更强大的机器。GCD是Grand Central Dispatch的简称...

    IOS开发之路–C语言预处理

    对于程序中经常用到的一些常量或者简短的函数我们通常使用宏定义来处理,这样做的好处是对于程序中所有的配置我们可以统一在宏定义中进行管理,而且由于宏定义是在程序编译之前进行替换相比定义成全局变量或函数效率...

    IOS开发之路–C语言存储方式和作用域

    概述 基本上每种语言都要讨论这个话题,C语言也不例外,因为只有你完全了解每个变量或函数存储方式、作用范围和销毁时间才可能正确的使用这门语言。今天将着重介绍C语言中变量作用...// main.c // ScopeAndLifeCycle /

Global site tag (gtag.js) - Google Analytics