该文章属于刘小壮原创,转载请注明:刘小壮[https://www.jianshu.com/u/2de707c93dc4] NSURLSession NSURLSession在...
1. super的本质 1.1 问题 首先来看一道面试题: 输出: 上述代码中可以发现无论是self还是super调用class或superclass的结果都是相同的。 为什...
1. 方法调用的本质 本文我们探寻方法调用的本质,首先通过一段代码,将方法调用代码转为c++代码查看方法调用的本质是什么样的: 通过上述源码可以看出c++底层代码中方法调用其...
1. Class对象的结构class_rw_t 通过前面对isa本质结构有了新的认识,今天来回顾Class对象的结构,重新认识Class的内部结构。 首先来看一下Class的...
1. isa指针的本质 在学习Runtime之前首先需要对isa的本质有一定的了解,这样之后学习Runtime会更便于理解。 回顾一下之前学过的OC对象的本质,每个OC对象都...
1. block对对象变量的捕获 block一般使用过程中都是对对象变量的捕获,那么对象变量的捕获同基本数据类型变量相同吗? 那么当在block中访问的为对象类型时,对象什么...
问题 block的原理是怎样的?本质是什么? __block的作用是什么?有什么使用注意点? block的属性修饰词为什么是copy?使用block有哪些使用注意? bloc...
问题: Category能否添加成员变量?如果可以,如何给Category添加成员变量? 1. 给Category添加属性 在之前我们通过对Category底层源码的解析知道...
问题 Category的实现原理,以及Category为什么只能加方法不能加属性。 Category和Extension的区别是什么? Category中有load方法吗?l...
一、KVO 问题 iOS用什么方式实现对一个对象的KVO?(KVO的本质是什么?) 如何手动触发KVO? 1. KVO使用 KVO的全称Key-Value Observing...
1. Class类型的底层结构 1.1 objc_class 我们知道不管是类对象还是元类对象,类型都是Class,类对象和元类对象的底层都是objc_class结构体的指针...
0. 基础准备 0.1 大小端模式的内存存储和读取规则 arm64采用的是小端模式 存储:数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中 读取:从高位地址到...
一、加密解密 1. 密码相关 1.1 简介 根据对加密和解密使用的密钥方法,可以将密码分为2种: 对称密码:加密用的密钥和解密用的密钥是相同的。 公钥密码(非对称密码):加密...
iOS汇编 真机:arm64汇编 模拟器:x86汇编 将c语言的代码转化成汇编: 1. 寄存器 lldb查看当前arm64(iOS真机)的所有寄存器: 输出: 1.1 通用寄...