如何在Homebrew中下载一个特定版本的包
最近准备给自己的blog重新翻修一遍,记录一下迁移新域名的过程,这个过程同时也适用于新建站。
NSObject
类的初始化的过程。我们先来了解下 load
方法,当一个类或者分类添加到运行时时候会被调用,通常的用法是在类中实现这个方法然后我们去做 Method Swizzling 操作,实质上就是可以在运行时干预类的加载。通过简单的Demo我们可以发现,一个类和她的子类都会执行 load
方法,而且子类会后置执行 load
方法。同时,分类中的 load
方法会先于主类中的。
我们可以找到 objc-runtime-new.mm
中的 prepare_load_methods
方法
这篇我们来讲一下点击事件,看了不少博客将图文混排、点击事件等等都放在一篇来讲,这样的话可能对于我这种小白来说有点难消化,我就将几种需求放在几篇细细道来
我们通过之前几篇已经可以直接进行图文混排了,这次我们需要给富文本加上点击的方法,点击回调的时候将对应的字符串、绘制范围、字符串的位置等等信息
还是捋一下思路,我们的切入点还是在绘制的时候将要添加的点击事件通过自定义key
值添加到富文本的addAttributes
中,但是我们value
值传入的是自定义的CoreTextClickModel
对象,然后在绘制CTRun
的时候识别我们的自定义key
值,再将对应的绘制区域转为NSValue
为key
CoreTextClickModel
对象为value
放到字典里面方便遍历时候查找,然后在点击的时候使用enumerateKeysAndObjectsUsingBlock
方法遍历字典中的key
判断点击的区域是否在区域内然后再使用对象中的值和执行存储的Block
,大概这样的流程,我们还是看一下代码。