iOS 面试

257 阅读1分钟

iOS 面试题

iOS 基础知识

1、UIView 和 layer 的关系;

1、首先UIView可响应事件,layer不可以。因为所有从UIView派生出来的UIKit类都是继承UIResponder类,在UIResponder中定义了各种事件传递的接口;而calayer直接继承NSObject,并没有相应的处理事件接口。          
2UIView是Calayer的代理,layer负责是绘制。

二、谈谈category和extension区别,系统如何底层实现category

     

     

     

     三、对于strongweak,atomic等等理解,如果属性完全不加修饰词入weak,atomic,系统会怎么处理,nonatomic和atomic的区别?atomic是绝对的线程安全么?为什么?如果不是,那应该如何实现?

     

     

     

     四、对于深拷贝和浅拷贝的理解

     

     

     

     五、谈谈对自动释放池的理解

     

     

     

     六、谈谈消息转发机制实现

     

     

     

     七、谈谈事件响应链,如何响应view之外的事件

     

     

     

     八、 简述下block的实现

     

     

     

     九、谈谈你懂runloop得理解:由浅入深

     

     

     

     十、谈谈对多线程理解:由浅入深

     

     

     

     十一、GCD的一些常用的函数?(group,barrier,信号量,线程同步)

     

     

     

     十二、界面性能优化