iOS面试题分析
代码:
1、模拟UITableView数据源同步问题并使用串行方式解决。
2、利用事件响应链自定义UIButton扩大响应热区。
3、利用事件响应链自定义UIView令其子控件即使超出它的bounds也能响应事件。
代码:
1、创建CALayer实现隐式动画。
2、使用UIView动画。
3、使用核心动画。
代码:
使用strong、copy修饰NSString时的区别。
代码:
1、[self class]、[super class]是同一个类对象验证。
2、__typeof__与__typeof与typeof关键字。
代码:
使用delegate、block、通知方式实现页面跳转的数据回传。
代码:
查看添加KVO前后类的isa指针变换。
代码:
1、验证KVC赋值与取值过程。
2、验证KVC修改属性会触发KVO。
代码:
1、验证load执行顺序。
2、验证initialize执行顺序。
3、关联对象为分类模仿添加成员变量。
代码:
1)block变量捕获。
2)block循环引用。
代码:
消息发送、动态方法解析、消息转发。
代码:
1)RunLoop状态监听。
2)常驻线程封装。
代码:
1)GCD信号量应用:保持线程同步、为线程加锁。
2)iOS中的锁的案例。
3)读写锁实现多读单写。
4)GCD栅栏函数实现多读单写。
代码:
1)NSCopying协议实现对象的copy。
2)NSTimer、CADisplayLink循环引用解决。
3)Tagged Point底层结构探索。
代码:
MVC-Apple、MVC变种、MVP、MVVM简单案例。