当前位置: 首页 > news >正文

昆山网站建设苦瓜简述搜索引擎优化

昆山网站建设苦瓜,简述搜索引擎优化,大理市建设局网站,中国疫情又全面爆发了吗iOS 程序入口UIApplicationMain详解,相信大家新建一个工程的时候都会看到一个main.m文件,只不过我们很少了解它,现在我们分析一下它的作用是什么? 一、main.m文件 int main(int argc, char * argv[]) {autoreleasepool {return …

iOS 程序入口UIApplicationMain详解,相信大家新建一个工程的时候都会看到一个main.m文件,只不过我们很少了解它,现在我们分析一下它的作用是什么?

一、main.m文件

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

1、@autoreleasepool
@autoreleasepool将整个应用都是包含在一个自动释放池 block 中。在mian之前可能会产生一些对象,需要再程序结束的时候释放,在mian之前,RunLoop还没有开启,这些对象不会随着runloop休眠释放。所以需要使用@autoreleasepool,将之前对象放到自动释放池。

autorelease对象在什么时机会被调用release
-如果对象直接被autoreleasepool包住,那在autoreleasepool大括号结束的时候就release;
-如果对象不是被autoreleaspool包住,释放是由runloop控制的,在当前的runloop迭代结束时释放的(对象能够释放的原因是系统在每个runloop迭代中都加入了自动释放池Push和Pop)

2、UIApplicationMain

int UIApplicationMain(int argc, char * _Nullable *argv, NSString *principalClassName, NSString *delegateClassName);

参数介绍:

  • argc:来自于main()接受的参数;
  • argv:来自于main()接受的参数;
  • 第三个参数:是UIApplication或其子类,如果该参数为nil,使用默认的UIApplication,如果要针对UIApplication来完成一些事情的话, 那么可以自定义一个UIApplication的子类, 例如有一些逻辑需要在每一个页面中执行,那么就可以考虑自定义一个 UIApplication的子类,在子类中处理,而不是将这些事情分散到各个页面对应的VC处理
  • 第四个参数:代理类(delegate class),指定了 AppDelegate 类作为应用的委托,它被用来接收类似 didFinishLaunching 或者 didEnterBackground 这样的与应用生命周期相关的委托方法

功能:
UIApplicationMain() 函数的三大功能:
1.根据principalClassName创建UIApplication对象。
2.根据delegateClassName创建delegate对象,并将该delegate对象赋值给UIApplication对象中的delegate属性,用于监听应用程序是如何运行的.。
3.建立应用的Main runloop进行事件的舰艇和处理。
4.程序正常退出时UIApplicationMain函数才返回。

二、扩展UIApplication对象

UIApplication对象和其delegate,

  • UIApplication对象代表着我们的应用,主要负责以下内容:
    1)负责处理用户事件,并分发事件到应该处理该消息的目标对象。 比如手势事件处理
UIApplicationsharedApplication].applicationSupportsShakeToEdit =YES;

2)管理以及控制视图,包括呈现、控制行为、当前显示视图等。比如设置app的icon上面通知提示数字

 [UIApplicationsharedApplication].applicationIconBadgeNumber = 4;
  • 其delegate负责内容:
    当一些生命周期内重要事件(比如内存警告、进入前后台等)发生时,应用程序通知该对象。
-(void)applicationDidFinishLaunching:(UIApplication *)application 
应用程序启动完毕。 -(BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions 
当由于其它方法打开应用程序(如URL指定或者连接),通知委托启动完毕-(void)applicationWillTerminate:(UIApplication *)application 
通知委托,应用程序将在关闭 退出,请做一些清理工作。-(void)applicationWillResignActive:(UIApplication *)application 
通知委托应用程序将进入非活动状态,在此期间,应用程序不接收消息或事件。-(void)applicationDidBecomeActive:(UIApplication *)application 
通知委托应用程序进入活动状态,请恢复数据-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application 
通知委托,应用程序收到了为来自系统的内存不足警告。-(void)applicationSignificantTimeChange:(UIApplication *)application 
通知委托系统时间发生改变(主要是指时间属性,而不是具体的时间值) -(BOOL)application:(UIApplication )application handleOpenURL:(NSURL )url 
打开指定的URL – application:willChangeStatusBarOrientation:duration: 
控制状态栏方位变化 – application:didChangeStatusBarOrientation: 
设备方向将要发生改变 
http://www.hrbkazy.com/news/36364.html

相关文章:

  • 练手Java做网站安徽网络seo
  • 房子设计师怎么找上海关键词优化按天计费
  • 网站建设 英语翻译郑州热门网络推广免费咨询
  • 网站css源码宁波seo服务推广
  • 项目推广方式关于进一步优化
  • 企业网站成功案例国外独立站网站
  • 南京网站流量优化网络营销的目的是
  • 浙江响应式网站建设整合网络营销
  • 湘潭做网站价格 磐石网络最近重大新闻
  • 德阳网站建设企业宣传片文案
  • 模板网站建设百度信息流开户多少钱
  • 股权变更要在工商局网站做吗百度快照怎么没有了
  • 长沙学做网站建设商品推广
  • 泰安网站建设课程报告seo招聘网
  • 优秀网站设计推荐怎样做自己的网站
  • 公司介绍视频网站优化seo教程
  • 家装室内设计师培训班学seo如何入门
  • 邀请注册推广赚钱北京优化网站建设
  • 邢台手机网站建设多少钱火爆产品的推广文案
  • 瀑布流网站推广普通话的意义简短
  • wordpress网站源文件太多怎么进行推广
  • 企业官网网站建设免费怎么优化关键词排名优化
  • 哪家手表网站按效果付费的推广
  • 网站建设公司的未来快排seo软件
  • 丝袜做那个的视频网站镇江网站seo
  • 适合新手的跨境电商平台seo平台有哪些
  • wordpress注册密码忘记网络优化主要做什么
  • 水头哪里有做网站的广告宣传网站
  • 中国制造网外贸网网站百度客服人工服务电话
  • 手机网站宽度自适应seo常见优化技术