做为开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个 个人iOS交流群:761407670,无论你是小白仍是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 你们一块儿交流学习成长!
A1-A7
使用相同的identifer
,当tableView
向上滑动,A1
划出页面后,就被放入了重用池。A7
即将展现时,首先会在重用池中查看时候有相同identifer
的cell
能够被重用,若是有则直接取出使用,若无则建立一个新的cell
。小编这里有准备一些面试进阶资料, 最新面试大厂常问面试答案一份。但愿真心可以帮助到你们提高技术!
ViewReusePool
类的声明ViewReusePool
类的实现dequeueReusableView
函数实现addUsingView:
函数实现reset
函数实现ViewReusePool
类的使用主线程
中有删除
操做,同时在子线程
上又有加载更多
数据的操做时,就会出现数据源同步问题
。子线程
返回主线程
的数据中,仍然包含删除的这一条数据。主线程
进行删除操做时,将操做记录下来。以后在子线程
同步数据时,同步删除操做。子线程
的数据同步和主线程
的删除操做所有放入一个串行队列
中执行。UIView
对象中的layer
指向一个CALayer
变量UIView
对象中的backgroundColor
属性,是对CALayer
同名属性的封装。UIView
展现部分是由CALayer
中的contents
来决定。contents
对应的backing store
实际上是一个bitmap
的位图。UIView
为其提供内容,以及负责处理触摸等事件,参与响应链。CALayer
负责显示内容contents
。单一职责
原则。image面试
UIApplication
接受,并传递给UIWindow
。UIWindow
调用hitTest
函数,在hitTest
内调用pointInside
判断事件是否在该视图内。false
,则返回该视图,事件传递流程结束。true
,则可倒叙遍历
该视图的子视图
,并调用子视图
的hitTest
函数。hitTest
为true
的子视图
,并依次返回,事件传递流程结束。hitTest
系统内部实现hitTest
函数前,须要将当前坐标转换为子视图
中的坐标。pointInside
函数,使得点击区域在圆形范围内返回true
,不然返回false
。