基本原理-> 给一个对象的属性添加监听 当属性值发生变化时 会触发监听器的监听的方法 2、在给person 添加监听之后、其实苹果底层通过运行时动态给person添加了一个子类 NSKVONotifying_Person 3、在新生产的类会新生成4个方法 4个方法介绍 4、在新生成的这个类中 修改对 ...
分类:
其他好文 时间:
2019-12-25 01:16:47
阅读次数:
79
1. 不调用实例变量的方法 2. 动态生成子类 (利用runtime生成:申请类,添加一些方法-set-class等方法,注册类 ) #import <Foundation/Foundation.h> NS_ASSUME_NONNULL_BEGIN @interface NSObject (FXKV ...
分类:
其他好文 时间:
2019-12-21 20:19:05
阅读次数:
84
官方文档地址: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html 基本用法: 1. [self.student add ...
分类:
其他好文 时间:
2019-12-18 12:47:03
阅读次数:
81
一、简述 在 MySQL 中用很多类型的自增 ID,每个自增 ID 都设置了初始值。一般情况下初始值都是从 0 开始,然后按照一定的步长增加。在 MySQL 中只要定义了这个数的字节长度,那么就会有上限。 二、试验 数据表定义的自增 ID,如果达到上限之后。 再申请下一个 ID 的时候,获得到的值将 ...
分类:
数据库 时间:
2019-12-15 10:59:20
阅读次数:
533
optional小结 java8使用Optional实现优美的npe判断 1、optional是那种初始化方法 2、使用optional.orElse可以实现兜底值 如果kv == null > key.orElse("123") == "123" 如果kv != null > key.orElse ...
分类:
编程语言 时间:
2019-10-22 21:56:06
阅读次数:
163
单一原则 一个类只负责一件事。例:UIView和CALayer 开闭原则 对修改关闭,对扩展开放 依赖倒置原则 抽象不应该依赖于具体实现,具体实现可以依赖于抽象 里氏替换原则 父类可以被子类无缝替换,且原有功能不受影响。例:KVO机制 接口隔离原则 使用多个专门的协议,而不是庞大臃肿的协议。例:UI ...
分类:
其他好文 时间:
2019-10-20 13:01:56
阅读次数:
89
一、介绍 什么是KVO?全称key-value-observer,键值观察,观察者设计模式的另一种实现。其作用是通过观察者监听属性值的变化而做出函数回调。 二、原理 KVO基于Runtime机制实现,使用了isa的混写技术 监听者监听类A的某一个属性的变化,系统会动态为类A创建一个子类NSKVONo ...
分类:
其他好文 时间:
2019-10-13 13:13:28
阅读次数:
101
学习网盘 8周selenium入门,中级,实战视频课程链接:https://pan.baidu.com/s/1o4hdlYMHU7opQhZ4IXzC6Q 密码:85nd APP移动端自动化测试链接:https://pan.baidu.com/s/1KbshKvoTq4IBvLsa5PFBFg 密码 ...
分类:
其他好文 时间:
2019-10-11 12:17:05
阅读次数:
111
目的: Mybatis关系映射之一对多 Mybatis关系映射之多对多 Mybatis关系映射之一对多 一对多 (订单对应多个订单项) 多对一 (订单项对应一个订单) 一对多 (订单对应多个订单项) 多对一 (订单项对应一个订单) 其是映射关系的基层思维是一样的,只是用法不一样,今天所记录的myba ...
分类:
其他好文 时间:
2019-09-28 00:45:21
阅读次数:
115
语言库 rx aop kvo 功能库 UI network data-model-map cache 跨平台库 wkjscorebridge jspatch 性能监控库:友盟 部署库:jspathc UI开源库 1、组件库 2、构建库(布局) 3、交互库:下拉刷新 4、渲染库 ...
分类:
移动开发 时间:
2019-08-23 10:40:17
阅读次数:
102