Block的本质 block本质上也是一个OC对象,它内部也有个isa指针 block是封装了函数调用以及函数调用环境的OC对象 block的底...
OC中做方法交换时,没有直接使用method_exchangeImplementations,而是与class_addMethod一起使用。 那...
基本概括 OC中的方法调用其实都是转成了objc_msgSend函数的调用,给receiver(方法调用者)发送了一条消息(selector方法...
注:以下都是基于64位系统来阐述的 NSObject对象占用的内存 结果: 由于NSObject底层实现只存储了isa指针,在64位系统中,指针...
七大准则 单一职责:一个类只做一件事情 开闭原则:对修改关闭,对扩展开放 依赖倒置:依赖抽象而不依赖实现 里氏替换:使用基类的地方可以无缝用子类...
定义 场景 将一个需要解释执行的语言中的句子表示为一个抽象语法树 一些重复出现的问题可以用一种简单的语言来进行表达 一个简单语法需要解释的场景 ...
定义 场景 一个对象的改变将导致其他一个或多个对象也发生改变 一个对象必须通知其他对象,而并不知道这些对象是谁 实现 1、UML图 2、使用 创...
定义 场景 系统中对象之间存在比较复杂的引用关系 想通过一个中间类来封装多个类的行为,而又不想生成太多的子类 实现 以AColleague与BC...
定义 场景 某个类里面包含各种类型的元素,这个类的结构较稳定,不会经常增删不同类型的元素,而需要经常给这些元素添加新的操作,考虑使用该设计模式。...