iOS Sharing 系列

本系列更新维护iOS知识点,仓库

iOS Sharing #01 | 2019-03-23

一、Runtime存在的意义是什么?

二、根元类的isa指针指向谁?

三、根元类的superClass指针指向谁?

四、函数四要素都是什么?

五、实例方法去哪里找?

iOS Sharing #02 | 2019-03-30

一、类方法去哪里找?

二、isa指针有几种类型么?

三、分类的方法具体是在何时添加到类的方法列表中?

四、class_addMethod()都须要什么参数?

五、iOS消息转发流程

iOS Sharing #03 | 2019-04-06

一、atomic关键字内部使用的是什么锁?

二、串行同步、串行异步、并发同步、并发异步各自会开几条线程?

三、为何须要在主线程更新UI?

四、iOS中如何用多线程实现多读单写?

五、iOS多线程中有多少种方式能够作到等待前面线程执行完毕再执行后面的线程?

iOS Sharing #04 | 2019-04-13

一、请用一句话概述分类的概念,并阐述分类的优势。

二、多个同宿主分类中的都重写了一个同名方法,哪一个分类的同名方法会生效?为何?

三、@property(copy)NSMutableArray *array这样声明属性会出现什么问题?

四、说一说KVO在重写NSKVONotifying对象的setter方法中,添加了哪两个关键方法?

五、如何实现一个完整的单例?

iOS Sharing #05 | 2019-04-20

1. Scoket 链接和 HTTP 链接的区别

2. 关于 HTTP 的请求 GET 和 POST 的区别

3. HTTPS 加密过程与原理

4. Socket 原理

5. 关于 TCP 的慢启动特性

iOS Sharing #06 | 2019-04-28

1. block的循环引用是如何形成的?

2. 使用UIAnimation的block回调时,需不须要使用__weak避免循环引用?为何?

3. block属性是否能够用strong修饰?

4. 什么场景下才须要对变量使用__block?

5. 运行如下GCD多线程代码,控制台将打印什么?

iOS Sharing #07 | 2019-05-05

1. id、self、super 它们从语法上有什么区别?

2. block 修改捕获变量除了用 __block 还能够怎么作?有哪些局限性?

3. 什么状况使用 weak 关键字,相比 assign 有什么不一样?

4. weak属性须要在dealloc中置nil么?

5. ARC下,不显式指定任何属性关键字时,默认的关键字都有哪些?

iOS Sharing #08 | 2019-05-12

1. NSUserDefaults 可以存储哪些类型的数据?能够存储可变数据类型吗?能够存储自定义数据类型吗?

2. NSUserDefaults 没有存储 key 的时候默认返回什么?

3. NSUserDefaults 存取操做是什么?它将数据存在何处?而且它是如何保持数据一致性的?

4. NSUserDefaults 旧数据总能被新设置的替换吗?

5. NSUserDefaults 性能如何?

iOS Sharing #09 | 2019-05-19

1. setNeedsLayout、layoutIfNeeded与layoutSubviews区别?

2. UIView与CALayer的区别?

3. loadView何时被调用?它有什么做用?默认实现是怎么样的?

4. UIViewController的完整生命周期?

5. UIView动画支持的属性有哪些?

iOS Sharing #10 | 2019-05-27

1. Category、 Extension和继承的区别?

2. isKindOfClass、isMemberOfClass做用分别是什么?

3. 开发中逆向传值的方式有哪些?

4. 开发中方法延迟执行的方式有哪些?

5. +load 和 +initialize 的区别是什么?


联系方式

邮箱: adrenine@163.com
git

邮箱: holaux@gmail.com
github

邮箱: ledahapple@icloud.com
多线程

联合编辑:并发

相关文章
相关标签/搜索