ios开发技术收集

iOS知识点

2020-08-24  本文已影响0人  不会抽烟

1、系统UI事件传递机制

流程:
UI事件传递机制

2、UIView和CALayer关系

  1. UIView负责事件传递和视图响应
  2. CALyer负责内容显示
  3. 体现单一职责原则

3、tableview卡顿优化

CPU相关:
GPU相关

4、UI绘制原理

UI绘制
系统绘制流程:
系统绘制流程

5、离屏渲染

1. 如何理解离屏渲染?
2.何时触发离屏渲染?
3.为何要避免离屏渲染?

6、分类

1.分类可以做什么?
2.分类特点?
3.分类中可以添加哪些内容?
4.注意事项

7、关联对象

本质
8、扩展
1.扩展可以做什么?
2.分类和扩展的区别?

9、代理

10、通知

1.特点
2.通知流程
通知流程
3.猜测通知的实现机制?

11、KVO

实现原理:
- (void)setValue:(id)obj {
      [self willChangeValueForKey:@"keyPath"];
      [super setValue:obj];
      [self willChangeValueForKey:@"keyPath"];
}
KVO实现原理
1.通过KVC设置value,KVO能否生效?为什么?
2.通过成员变量直接赋值value,KVO能否生效?

12、KVC

1.键值编码是否会违背面向对象编程思想?
2.valueForKey系统实现流程:
3.访问器方法(Accessor Method)是否存在判断规则:
4.实例变量(Instance var):
5.setValueForKey系统实现流程:
setValueForKey

13、属性关键字

1.属性关键字可以分为哪几类?
2. atomic修饰的属性会产生什么样的效果:
3.assign特点:
4.weak特点:
5.assign和weak关键字之间的区别?
6.weak修饰的对象释放后为什么会被置为nil?

TODO

7.浅拷贝
8.深拷贝
9.浅拷贝和深拷贝的区别?
10.copy关键字
copy关键字 image.png

待续。。。

上一篇下一篇

猜你喜欢

热点阅读