`
stephen830
  • 浏览: 2965163 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

xcode ios 的main.m

 
阅读更多

xcode ios 的main.m

 

在几乎所有的程序开发中程序一般都是从main函数开始运行的,那么IOS程序也不例外,在上图中我们可以看到Xcode为我们生成了一个main.m文件:

//
//  main.m
//  FirstIOS
//
//  Created by Kenshin Cui on 14-2-23.
//  Copyright (c) 2014年 Kenshin Cui. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "AppDelegate.h"

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

这个默认的iOS程序就是从main函数开始执行的,但是在main函数中我们其实只能看到一个方法,这个方法内部是一个消息循环(相当于一个死循 环),因此运行到这个方法UIApplicationMain之后程序不会自动退出,而只有当用户手动关闭程序这个循环才结束。这个方法有四个参数:

  • 第一个参数和第二个参数其实就是main函数的参数,分别代表:参数个数、参数内容;
  • 第三个参数代表UIApplication类(或子类)字符串,这个参数默认为nil则代表默认为UIApplication类,用户 可以自定义一个类继承于这个类;如果为nil则等价于NSStringFromClass([UIApplication class]),大家可以自己试验,效果完全一样;UIApplication是单例模式,一个应用程序只有一个UIApplication对象或子对 象;
  • 第四个参数是UIApplication的代理类字符串,默认生成的是AppDelegate类,这个类主要用于监听整个应用程序生命 周期的各个事件(其实类似于之前我们文章中提到的事件监听代理),当UIApplication运行过程中引发了某个事件之后会调用代理中对应的方法;

 

分享到:
评论

相关推荐

    最新iOS11开发教程swift4+xcode9

    iOS11Main.storyboard文件编辑界面 编写第一个iOS11代码Hello,World 15 定制iOS11应用程序图标 20 iOS11数据线连接真机测试 23 数据线连接手机测试 24 了解iOS11应用视图 26 视图库介绍 26 iOS11应用视图始祖——...

    iOS Xcode12.2(16E227/16E226/16E5191d/16E5212e)真机调试,亲测可用!绝对真实!

    is running iOS 12.2 (16E227), which may not be supported by this version of Xcode. 可以下载此包,包含四中12.2真机调试机型。 解压缩zip文件并复制到 /Applications/Xcode.app/Contents/Developer/Platforms...

    (0108)iOS开发之Xcode11: 删除默认Main.storyBoard、自定义根控制器

    Xcode11 新建OC 工程后,发生了很大的变化,发现多了两个文件夹。...那怎么回到原来熟悉的方式尼:删除默认Main.storyBoard、自定义根控制器? 方法一:(推荐)在新增的 SceneDelegate文件中添加。先把下面框住的配置

    iOS12.1 (16B5084a) 真机包

    iOS12.1 (16B5084a) 真机包 ,方便Xcode10以下的同学方便真机调试,复制到 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 目录下

    IOS5 Programming Cookbook

    1.1 Creating a Simple iOS App in Xcode 2 1.2 Understanding Interface Builder 7 1.3 Compiling iOS Apps 13 1.4 Running iOS Apps on the Simulator 15 1.5 Running iOS Apps on iOS Devices 17 1.6 Packaging ...

    最新ray Combine: Asynchronous Programming with Swift5.1.pdf

    Xcode is the main development tool for iOS. You’ll need Xcode 11 or later for the tasks in this book, since Combine was introduced with the iOS 13 SDK. You can download the latest version of Xcode ...

    [修复下载链接]iPhone5S和iPad4上编译C/C++

    main.cpp ——此版本源代码 a.out,iosc,iosc++ ——此版本二进制可执行文件 config.txt ——此版本最佳配置文件。 注:配置文件一般自动生成。如果 希望iosc/iosc++尽量不提问,可以 把这个config.txt...

    Learning Core Data for iOS(Addison,2013)

    Hands-on from start to finish, it teaches you step-by-step as you create a modern data-driven iOS app using Storyboards, ARC, iOS 7, and Xcode 5. Tim Roadley introduces new patterns and best ...

    英文原版-Learning Core Data for iOS 1st Edition

    Hands-on from start to finish, it teaches you step-by-step as you create a modern data-driven iOS app using Storyboards, ARC, iOS 7, and Xcode 5.Tim Roadley introduces new patterns and best practices...

    macOS Programming for Absolute Beginners: Developing Apps Using Swift and Xcode

    Use Xcode, the main programming tool used for both macOS and iOS development See what makes Swift unique and powerful as a programming language and why you should learn it Create macOS programs ...

    百度移动广告联盟Unity3d插件ios和android双平台版

    IOS下使用,编译出xcode工程后需要在xCode中设置一下,引入以下Framework: AdSupport.framework,CoreTelephony.framework,StoreKit.framework,MessageUI.framework 并且把GoogleMobileAds.framework 添加到xcode...

    lua_ios:Lua语言,已打补丁,因此可以从iOS应用程序中调用

    适用于iOS Shell和命令行界面的Lua 对最小更改集,因此可以在Apple API约束内的iOS应用程序中调用它: Xcode项目创建动态库将main重命名为lua_main和luac_main 将system重命名为ios_system 退出程序时擦除所有内存...

    ios-swift版本提示框XLProgressHUD 指示器.zip

    To integrate XLProgressHUD into your Xcode project using CocoaPods, specify it in your 'Podfile' : source 'https://github.com/CocoaPods/Specs.git' platform :ios, '8.0' use_frameworks! ...

    iOS集成测试框架kif-framework

    iOS集成测试框架kif-framework,源码kif-framework,KIF的全称是“Keep It Functional”,是一款iOS集成测试框架,来自square。KIF使用了苹果非公开的API,很多iOS测试框架都使用了非公开API,出于测试目的还是安全...

    iOS8-Notes-Swift:一个简单的 iOS 版 Swift 笔记应用程序

    您将看到该模板包含一个AppDelegate类、一个ViewController类和一个Main.storyboard文件,以及Main.storyboard文件: #配置故事板 我们想创建一个可以显示笔记的应用程序。 该应用程序将包含两个不同的视图控制器...

    iOS应用开发中使用Auto Layout来适配不同屏幕尺寸

    Auto Layout 是苹果在 Xcode 5 (iOS 6) 中新引入的布局方式,旨在解决 3.5 寸和 4 寸屏幕的适配问题。屏幕适配工作在 iPhone 6 及 plus 发布以后变得更加重要,而且以往的“笨办法”的工作量大幅增加,所以很多人...

    iOS8-Notes:iOS 版 Objective-C 中的一个简单笔记应用程序

    您将看到该模板包含一个AppDelegate类、一个ViewController类和一个Main.storyboard文件,以及Main.storyboard文件: #配置故事板我们想创建一个可以显示笔记的应用程序。 该应用程序将包含两个不同的视图控制器,...

    RealThinClientSDK_v610_BETA

    3.) Make the RTC SDK accessible from XCode (for iOS development) 4.) Update RTC SDK components in Delphi 5.) Help 6.) Demos 7.) Support ******************************** --------------------------...

    SmartphoneSymphony:用于创建音乐表演的React Native应用

    智能手机交响乐特征带模态窗口的动画选项卡式导航... 当从AppHub仪表盘,使用要求出口和签署ipa文件,一旦main.jsbundle与内置react-native bundle --minify (这可能需要移动到iOS目录)。 也可以从iOS目录运行gym 。

    ios多tab demo

    xcode 8.3.3下亲测有效,利用storyboard实现的多标签ios应用程序。使用语言为object c

Global site tag (gtag.js) - Google Analytics