「疾如風,徐如林,侵掠如火,不動如山」
【底层探索】- 多线程(一) 【底层探索】- 多线程(一)
一、线程定义1.1 基本概念 线程(Thread),有时被称为轻量级进程(Lightweight Progress, LWP),是程序执行流的最小单位。 一个标准的线程由线程ID、当前指令指针(PC)、寄存器集合和堆栈组成。通常意义上,一
2020-04-06 李佳
【底层探索】- 多线程(二)GCD应用 【底层探索】- 多线程(二)GCD应用
一、面试题解析1.1 第一题A、提问:以下代码,会打印什么? dispatch_queue_t queue = dispatch_queue_create("lj", DISPATCH_QUEUE_SERIAL); NSLo
2020-04-05 李佳
【底层探索】- KVO(下)自定义KVO 【底层探索】- KVO(下)自定义KVO
序上文中,初步探索了KVO的使用以及背后的实现原理,这次来自己实现一个KVO,一方面在过程中加深理解,另一方面可以感受一下使用场景。 根据上文总结,KVO的实现一共有3部分: 添加KVO监听方法 KVO 通知实现方法 KVO 移除方法
2020-04-04 李佳
【数据结构与算法】-(4)双向链表和双向循环链表 【数据结构与算法】-(4)双向链表和双向循环链表
【数据结构与算法】-(1)基础篇 【数据结构与算法】-(2)线性表基础 【数据结构与算法】-(3)循环链表(单向) 【数据结构与算法】-(4)双向链表和双向循环链表 【数据结构与算法】-(5)链表面试题解析 【数据结构与算法】
2020-04-03 李佳
【底层探索】- KVO(上) 【底层探索】- KVO(上)
一、KVO 初探1.1 概念 Key-value observing is a mechanism that allows objects to be notified of changes to specified properties
2020-04-03 李佳
【数据结构与算法】-(3)循环链表(单向) 【数据结构与算法】-(3)循环链表(单向)
【数据结构与算法】-(1)基础篇 【数据结构与算法】-(2)线性表基础 【数据结构与算法】-(3)循环链表(单向) 【数据结构与算法】-(4)双向链表和双向循环链表 【数据结构与算法】-(5)链表面试题解析 【数据结构与算法】-(6)栈
2020-04-02
【底层探索】- KVC原理分析 【底层探索】- KVC原理分析
序思考拓展题为什么先进入objc_setProperty_atomic_copy 方法,而不是setName:? 回答:通用原则。即面向不同的数据类型,采用统一的属性设值的方法,会更加的高效,符合高内聚的原则。 一、概念及常见使用1.0 概
2020-04-02 李佳
【数据结构与算法】-(2)线性表基础 【数据结构与算法】-(2)线性表基础
【数据结构与算法】-(1)基础篇 【数据结构与算法】-(2)线性表基础 【数据结构与算法】-(3)循环链表(单向) 【数据结构与算法】-(4)双向链表和双向循环链表 【数据结构与算法】-(5)链表面试题解析 【数据结构与算法】
2020-04-01 李佳
【类的加载】-(3)loading_images 【类的加载】-(3)loading_images
本页所使用的objc runtime 756.2,来自 Apple 开源文档 类的加载探寻系列:1、【类的加载】-(1)类的启动 2、【类的加载】-(2)懒加载类与分类 3、【类的加载】-(3)loading_images 一、加载
2020-04-01 李佳
【数据结构与算法】-(1)基础篇 【数据结构与算法】-(1)基础篇
算法是解决特定问题对求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。
2020-03-31 李佳
【类的加载】-(2)懒加载类与分类 【类的加载】-(2)懒加载类与分类
本页所使用的objc runtime 756.2,来自 Apple 开源文档 类的加载探寻系列:1、【类的加载】-(1)类的启动 2、【类的加载】-(2)懒加载类与分类 3、【类的加载】-(3)loading_images 一、懒加
2020-03-31 李佳
【底层探索】- runtime面试题集 【底层探索】- runtime面试题集
〇、引言前面一步步学习了对象、类、方法、类的加载等,这些其实都是Runtime 的基础,而Runtime 又是iOS开发语言 Objective C 的精髓,因此关于Runtime 的面试题举不胜举。 下面就简单的介绍几个,并提供解题思路,
2020-03-30 李佳
3 / 5