文档章节

Appdelegate的代理函数

阿元
 阿元
发布于 2015/12/28 19:53
字数 578
阅读 27
收藏 0
#import <UIKit/UIKit.h>

//代理主类
//父类:UIResponder
//UIResponder主要用来处理事件
//UIApplicationDelegate代理协议
//需要自己实现协议
//UIApplication框架类来调用我们的协议
@interface AppDelegate : UIResponder <UIApplicationDelegate>
//窗口对象,
//表示当前设备的屏幕,可以在此窗口对象上添加视图
//strong用在自动内存管理中关键子
//对内存引用计数器+1,retainCount+1
//相当于手动内存管理中的retain
//与strong对应的关键子weak,修饰对象类型的
//weak引用不会对内存计数器+1,相当与assign
@property (strong, nonatomic) UIWindow *window;

@end


#import "AppDelegate.h"

@implementation AppDelegate

//入口函数也是协议函数
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}


//下面的函数都是协议函数
//程序即将从前台(活动状态)退出到后台(非活动状态,休眠状态)
- (void)applicationWillResignActive:(UIApplication *)application
{
    NSLog(@"即将退出 前台!");
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}
//程序已经进入后台状态(休眠状态)
//释放一些程序中的图像资源和内存
- (void)applicationDidEnterBackground:(UIApplication *)application
{
    NSLog(@"程序已经进入后台!");
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
//程序即将从后台进入前台的时调用此函数
- (void)applicationWillEnterForeground:(UIApplication *)application
{
    NSLog(@"即将进入前台!");
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
//程序已经变为激活状态,前台运行

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    NSLog(@"已经进入前台状态!");
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

//程序即将被退出时,程序结束前被调用
//保持数据,释放内存等收尾工作
- (void)applicationWillTerminate:(UIApplication *)application
{
    NSLog(@"程序即将结束XXXX!");
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}

@end


© 著作权归作者所有

上一篇: NSTimer
阿元
粉丝 5
博文 163
码字总数 109777
作品 0
浦东
程序员
私信 提问
iOS - 更轻量级的 AppDelegate - 面向服务

有没有觉得你的 AppDelegate 太过庞大了?一个 iOS 应用可能集成了大量的服务,第三方服务、推送服务等等,大多数服务功能彼此独立,想不想把它们彻底从 AppDelegate 中拆出来? AppDelegat...

力谱宿云
2016/08/09
662
1
ios应用程序的两种启动方式

ios应用程序的两种启动方式 分类: IOS2012-10-31 17:04 5154人阅读 评论(0) 收藏 举报 记得几个月前刚接触ios时,因为要急着完成任务,搭建应用的方式完全按照书本,而书本讲的是xcode3,而...

法斗斗
2015/09/02
21
0
AppDelegate的科幻用法

学习总是一个循序渐进的过程,刚开始的时候知道的东西少,当遇到一个需求时会绞尽脑汁来想怎么来实现,而随着学习的不断深入,了解的东东越来越多,再遇到一个需求的时候总会瞬间有多个解决文...

嘻哈开发者
2014/10/22
0
0
iphone应用程序执行过程

// 收到UIApplicationWillResignActiveNotification通知时调用applicationWillResignActive方法。// 相当于,程序进入后台,调用applicationWillResignActive执行数据保存工作[[NSNotificat...

JohnZr
2012/06/12
0
1
swift 用协议实现代理传值功能

swift 用协议实现代理传值功能 原文 http://blog.csdn.net/whzhaochao/article/details/34903239 1.功能简介 RootViewController中用个lable和一个按钮,点击按钮跳转到模态窗口。在模态窗口...

法斗斗
2016/06/23
72
0

没有更多内容

加载失败,请刷新页面

加载更多

10分钟详解Spring全家桶7大知识点

点关注,不迷路;持续更新Java架构相关技术及资讯热文!!! Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。它包括SpringMVC、SpringBoot、Spring Cloud、Spr...

我最喜欢三大框架
1分钟前
0
0
注册服务

列出所有服务[root@localhost ~]# systemctl list-unit-files[root@localhost ~]# systemctl status mysqld[root@localhost ~]# systemctl stop mysqld[root@localhost ~]# ......

jxlgzwh
5分钟前
0
0
解决jdk8 stream tomap方法报错:java.lang.IllegalStateException: Duplicate key异常解决(key重复)

List<User> userList = User.ME.loadList(users); if (CollectionUtils.isNotEmpty(userList)) { Map<Long, User> userMap = userList.stream().filter(Objects::nonN......

冰峰雪座
14分钟前
0
0
jdk中的一些命令

jdk中的一些命令 jps jstack jmap jstat jhat jinfo javap http://www.importnew.com/18398.html

晨猫
15分钟前
0
0
Bystack的高TPS共识算法

共识算法是分布式系统保证节点数据状态一致性的方法,在区块链的共识算法分POW(工作量证明)和POS(权益证明)两大类。第一类POW模式是在公链项目中运用的最广泛应用的共识算法,比特币长达10年...

比原链Bytom
15分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部