- 博客(6)
- 收藏
- 关注
原创 runtime基本原理与常用方法
什么是runtime runtime是基于C语言的一套API,C语言是基于面向过程的,而runtime在C的基础上进行了一次封装,使得C语言有了面向对象这一说。换一种比较明了的说法: 我们平时写的OC代码其实都会在运行时转成C语言来运行,比如OC中调用方法会转化成C语言中的 id objc_msgSend ( id self, SEL op, … ); 而o...
2018-08-03 15:54:49
1031
1
原创 分类与扩展
分类是什么 分类是一种不需要继承即可给类添加方法的语法技术。可以在不改变原有类的前提下,动态地给这个类添加一些方法。使用场景 1.给现有的类添加方法; 2.将一个类的实现拆分成多个独立的源文件; 3.声明私有的方法。优点 a)可以减少单个文件的体积 b)可以把不同的功能组织到不同的category里 c)可以由多个开发者共同...
2018-08-02 11:48:23
187
原创 观察者模式
什么是观察者模式(KVO) KVO 提供一种机制,指定一个被观察对象(例如 A 类),当对象某个属性(例如 A 中的字符串 name)发生更改时,对象会获得通知,并作出相应处理;基本的原理: 当观察某对象 A 时,KVO 机制动态创建一个对象A当前类的子类,并为这个新的子类重写了被观察属性 keyPath 的 setter 方法。setter 方法随后负责通知观察对象属...
2018-07-31 16:41:09
206
原创 单例模式
单例模式 什么是单例模式 单例模式概念 : 一个类只允许有一个实例,在整个程序中需要多次使用,共享同一份资源的时候,就可以创建单例,一般封装成工具类使用,苹果封装成单例常用的有UIApplication,NSUserDefaults,NSNotificationCenter,NSFIleManager等等为什么要使用单例模式 单例模式的出现为我们带来了很...
2018-07-31 10:49:27
111
原创 MVC设计模式
一、MVC 1. 什么是MVC(Model - View - Controller)设计模式? 首先来了解一下, 一个程序页面它有什么 : 撇开表面上看到的种种, 可以把一个页面包含归为 ①. 数据 — model层 ②. 呈现方式 — view层 ③. 数据与呈现方式之间的关系 — control层 我们可以...
2018-07-31 10:15:43
146
原创 dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchan关于苹果禁用JSPatch(热修复一类),上架审核被拒问题
dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations()
2017-05-22 14:33:47
1312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人