面向切面编程:Aspects源码解析

2019-05-23
阅读 10 分钟
3k
简单说,就是在不影响我们现在正常业务的情况下,对某些类的某些方法嵌入操作。我们可以很通俗的理解一个方法可以有方法前和方法后这两个切面,当然还可以把方法执行过程看过一个整的切面去hook。

Objective-C Method Swizzling

2019-05-16
阅读 5 分钟
3.1k
Method Swizzling已经被聊烂了,都知道这是Objective-C的黑魔法,可以交换两个方法的实现。今天我也来聊一下Method Swizzling。

算法:快速排序

2018-06-19
阅读 4 分钟
1.7k
其实快速排序就是这么几个步骤: 先从数列中取出一个数作为基准,一般都是取数组的第一个数。 所有小于“基准”的元素,都移到”基准”的左边;所有大于”基准”的元素,都移到”基准”的右边。这个操作称为分区操作。(分区操作结束后,基准元素所处的位置就是最终排序后它的位置) 对”基准”左边和右边子区间不断重复第一步和第...

数据结构:静态链表

2018-06-15
阅读 4 分钟
2.8k
如何用数组了描述呢 ?简单的说,就是我们会先创建一个固定的数组,然后数组中的每一个元素都使用一个结构体,该结构体包括两个元素,一个是要储存的数据,一个是游标。

GCD 学习总结

2018-06-13
阅读 7 分钟
5.4k
任务分为同步执行sync和异步执行async, 同步和异步的区别在于是否会阻塞当前线程, 其实在GCD中一个任务就是一个block中的代码.

MJExtension源码学习(二)

2018-06-05
阅读 5 分钟
2.6k
在看源码之前,注意MJExtensionConfig这个类。因为它重写了+load方法,然后把使用的model的一些配置,统一写到了这个文件中。