面试必备

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的对象才能处理事件。

你可能感兴趣的:(面试必备)