1.AppDelegate对象方法:
- 程序第一次启动后才会执行
- 程序将要失去焦点
- 程序得到焦点时调用
- 程序进入后台执行
- 程序进入前台执行
- 程序即将退出时调用(terminate)
- 程序发生内存警告时候调用
UIApplication常用属性和方法
# 属性
// 显示应用图标右上角数字
application.applicationBadgeNumber = 8;
// 设置状态栏样式
application.statusBarStyle = UIStatusBarStyleBlackOpaque;
// 显示或隐藏状态栏
application.statusBarHidden = YES;
// 状态栏网络请求状态
application.networkActivityIndicatorVisible = YES;
# 方法
// 用默认浏览器打开网页
[application openURL:[NSURL urlWithString:@"http://www.baidu.com"]];
// 打电话
[application openURL:[NSURL urlWithString:@"tel://xxxxxxxxx"]];
// 发短信
[application openURL:[NSURL urlWithString:@"sms://xxxxxxxxx"]];
2.UITableViewcell的重用机制
在UITableView
内部有一个缓存池,专门用来缓存UITableViewcell
,因为UITableView
不是 一下子显示全部cell,而是以 所见即所得 的方式,才有存在的对象UITableViewcell
的实例。
-因为使用了重用机制,你拿到的cell上面也许本来就有数据,所以一定要对cell里面所有子控件进行初始化,否则会导致测cell数据混乱。
3.事件分发处理【由外到内】
在iOS中发生触摸后,事件会加到
UIApplication
事件队列,UIApplication
会从事件队列取出最前面的事件进行分发处理,通常会先分发给主窗口,主窗口会掉用hitTest:withEvent:
方法,查找合适的事件触发视图,即 找到被触摸的视图对象。在iOS中并不是所有的类都能处理并接受事件,只有继承
UIResponder
的对象才能处理事件。