iOS 的 UIApplicationDelegate 你懂多少

几个方法

application:didFinishLaunchingWithOptions:
applicationWillResignActive:
applicationDidBecomeActive:
applicationWillEnterBackground:
applicationWillEnterForeground:
applicationDidReceiveMemoryWarning:

1application:didFinishLaunchingWithOptions

UIApplication 被实例化后第一个触发的协议方法。这货主要的任务,就是创建一个 UIWindow,在这货上面显示控制器的视图;

一般在这个方法里面引入根视图,初始化一些第三方平台的库;

一个参数launchOptions是个字典,一般在通知的时候会把通知的参数通过这个字典传过来,一般在本地推送和远程推送用到。

2 openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options

这个主要是在同过外界程序打开app时,会执行这个方法;

例如app A里面的按钮点击打开手机上面的app B 并传给参数

利用上面的这个方法,appurlxib是app B里面URL Types ,1111就是想要传的参数,格式为URL Types://参数,当然参数可以省掉,URL Types:// 就行

接收参数如右图:

当然从此也可以看出 URL Types的作用 就是这个app的类似外部访问的网址,微信的分享的进入微信和退回应用,用的都是这个道理;

3applicationWillResignActive:

应用从 Active 变为 Inactive 时,触发该协议方法,一般在将要退到后台执行,比如有电话打来时;

resign 为辞职,active 形象说明现在还处于活跃阶段,但是马上要离开

4applicationDidBecomeActive

应用从 Inactive 变为 Active 时,触发该协议方法。

已经处于活跃状态,在后台到前台,页面已经呈现时执行;

5applicationdidEnterBackground:

应用切换至到后台时,触发该协议方法。

应该执行上面的willresign active 然后马上执行这个

6applicationWillEnterForeground:

应用切换至前台时,触发该协议方法。

先执行这个,然后再执行DidBecomeActive

7applicationDidReceiveMemoryWarning:

设备内存不足时,会触发该协议方法;程序退到后台是不执行的,程序正常退出也不执行;只有在内存危机时,苹果为啦保护手机,将kill掉应用

8如果想主动获取 AppDelegate 怎么办?

[[UIApplication sharedApplication] delegate]

9  didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 
这个是用于极光推送的注册,deviceToken为手机的唯一标示符

10 didReceiveLocalNotification:(UILocalNotification *)notification
这是本地通知点击进入执行的方法



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值