iOS 面试题
iOS 基础知识
1、UIView 和 layer 的关系;
1、首先UIView可响应事件,layer不可以。因为所有从UIView派生出来的UIKit类都是继承UIResponder类,在UIResponder中定义了各种事件传递的接口;而calayer直接继承NSObject,并没有相应的处理事件接口。
2、UIView是Calayer的代理,layer负责是绘制。
二、谈谈category和extension区别,系统如何底层实现category
三、对于strongweak,atomic等等理解,如果属性完全不加修饰词入weak,atomic,系统会怎么处理,nonatomic和atomic的区别?atomic是绝对的线程安全么?为什么?如果不是,那应该如何实现?
四、对于深拷贝和浅拷贝的理解
五、谈谈对自动释放池的理解
六、谈谈消息转发机制实现
七、谈谈事件响应链,如何响应view之外的事件
八、 简述下block的实现
九、谈谈你懂runloop得理解:由浅入深
十、谈谈对多线程理解:由浅入深
十一、GCD的一些常用的函数?(group,barrier,信号量,线程同步)
十二、界面性能优化