统计无用页面的一个思路
发表于
分类于
Blog
使用fastlane上传ipa到Testflight并解决二次认证(2FA)问题
发表于
分类于
Mobile
关联对象实现原理
发表于
分类于
Mobile
Category的原理
发表于
分类于
Mobile
Objective-C 中 initialize load
发表于
分类于
Mobile
我们接着上篇 Class-Model 继续围绕着 Runtime 来更深入的了解一个继承与 NSObject
类的初始化的过程。
load
我们先来了解下 load
方法,当一个类或者分类添加到运行时时候会被调用,通常的用法是在类中实现这个方法然后我们去做 Method Swizzling 操作,实质上就是可以在运行时干预类的加载。通过简单的Demo我们可以发现,一个类和她的子类都会执行 load
方法,而且子类会后置执行 load
方法。同时,分类中的 load
方法会先于主类中的。
prepare_load_methods
我们可以找到 objc-runtime-new.mm
中的 prepare_load_methods
方法
Class-Model
发表于
分类于
Mobile
CoreText点击事件处理
发表于
分类于
Mobile
这篇我们来讲一下点击事件,看了不少博客将图文混排、点击事件等等都放在一篇来讲,这样的话可能对于我这种小白来说有点难消化,我就将几种需求放在几篇细细道来
思路
我们通过之前几篇已经可以直接进行图文混排了,这次我们需要给富文本加上点击的方法,点击回调的时候将对应的字符串、绘制范围、字符串的位置等等信息
还是捋一下思路,我们的切入点还是在绘制的时候将要添加的点击事件通过自定义key
值添加到富文本的addAttributes
中,但是我们value
值传入的是自定义的CoreTextClickModel
对象,然后在绘制CTRun
的时候识别我们的自定义key
值,再将对应的绘制区域转为NSValue
为key
CoreTextClickModel
对象为value
放到字典里面方便遍历时候查找,然后在点击的时候使用enumerateKeysAndObjectsUsingBlock
方法遍历字典中的key
判断点击的区域是否在区域内然后再使用对象中的值和执行存储的Block
,大概这样的流程,我们还是看一下代码。