【iOS Sharing】【目录】iOS Sharing系列
本文最后更新于:2021年12月22日 中午
【主页】系列文章目录
【iOS Sharing】系列目录
【一】isa相关
【二】方法相关
【三】多线程相关
【四】类相关
【五】网络相关
【六】block相关
【七】属性相关
【八】NSUserDefaults相关
【九】UIView相关
【十】KVO、消息转发等
目录
【一】isa相关
【1】 Runtime存在的意义是什么?
【2】 根元类的isa指针指向谁?
【3】 根元类的superClass指针指向谁?
【4】 isa指针有几种类型?
【5】 id、self、super 它们从语法上有什么区别?
【二】方法相关
【1】 实例方法去哪里找?
【2】 类方法去哪里找?
【3】 分类的方法具体是在什么时候添加到类的方法列表中?
【4】 class_addMethod()都需要什么参数?
【5】 函数四要素都是什么?
【三】多线程相关
【1】 运行以下GCD多线程代码,控制台将打印什么?
【2】 串行同步、串行异步、并发同步、并发异步各自会开几条线程?
【3】 为什么需要在主线程更新UI?
【4】 iOS中如何用多线程实现多读单写?
【5】 iOS多线程中有多少种方式可以做到等待前面线程执行完毕再执行后面的线程?
【四】类相关
【1】 请用一句话概述分类的概念,并阐述分类的优点。
【2】 多个同宿主分类中的都重写了一个同名方法,哪个分类的同名方法会生效?为什么?
【3】 Category、 Extension和继承的区别?
【4】 isKindOfClass、isMemberOfClass作用分别是什么?
【5】 +load 和 +initialize 的区别是什么?
【五】网络相关
【1】 Scoket 连接和 HTTP 连接的区别
【2】 关于 HTTP 的请求 GET 和 POST 的区别
【3】 HTTPS 加密过程与原理
【4】 Socket 原理
【5】 关于 TCP 的慢启动特性
【六】block相关
【1】 block的循环引用是如何造成的?
【2】 使用UIAnimation的block回调时,需不需要使用__weak避免循环引用?为什么?
【3】 block属性是否可以用strong修饰?
【4】 什么场景下才需要对变量使用__block?
【5】 block 修改捕获变量除了用 __block 还可以怎么做?有哪些局限性?
【七】属性相关
【1】 atomic关键字内部使用的是什么锁?
【2】 @property(copy)NSMutableArray *array这样声明属性会出现什么问题?
【3】 什么情况使用 weak 关键字,相比 assign 有什么不同?
【4】 weak属性需要在dealloc中置nil么?
【5】 ARC下,不显式指定任何属性关键字时,默认的关键字都有哪些?
【八】NSUserDefaults相关
【1】 NSUserDefaults 能够存储哪些类型的数据?可以存储可变数据类型吗?可以存储自定义数据类型吗?
【2】 NSUserDefaults 没有存储 key 的时候默认返回什么?
【3】 NSUserDefaults 存取操作是什么?它将数据存在何处?并且它是如何保持数据一致性的?
【4】 NSUserDefaults 旧数据总能被新设置的替换吗?
【5】 NSUserDefaults 性能如何?
【九】UIView相关
【1】 setNeedsLayout、layoutIfNeeded与layoutSubviews区别?
【2】 UIView与CALayer的区别?
【3】 loadView什么时候被调用?它有什么作用?默认实现是怎么样的?
【4】 UIViewController的完整生命周期?
【5】 UIView动画支持的属性有哪些?
【十】KVO、消息转发等
【1】 开发中逆向传值的方式有哪些?
【2】 开发中方法延迟执行的方式有哪些?
【3】 说一说KVO在重写NSKVONotifying对象的setter方法中,添加了哪两个关键方法?
【4】 如何实现一个完整的单例?
【5】 iOS消息转发流程
联系方式
邮箱: xiebangyao_1994@163.com
相关账号:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!