![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Objective-C 学习笔记
wind-Smell
码农一枚
展开
-
dispatch_semaphore_t 初探
dispatch_semaphore_t 初探场景:假设现在系统有两个空闲资源可以被利用,但同一时间却有三个线程要进行访问,这种情况下,该如何处理呢? 或者 我们要下载很多图片,并发异步进行,每个下载都会开辟一个新线程,可是我们又担心太多线程肯定cpu吃不消,那么我们这里也可以用信号量控制一下最大开辟线程数。定义:信号量:是一种控制资源访问数量的标识,设定一个信号量,在线程访问之前,加上信...原创 2019-04-12 14:42:56 · 237 阅读 · 0 评论 -
利用Runtime解析类的属性Property
利用Runtime解析类的属性Property回家待续…原创 2019-04-12 18:53:10 · 149 阅读 · 0 评论 -
KVO 解密一:KVO简单使用
KVO 解密一:KVO简单使用KVO全称KeyValueObserving,是苹果提供的一套事件通知机制。允许对象监听另一个对象特定属性的改变,并在改变时接受到事件。一般继承自NSObject的对象默认都支持KVO。KVO和NSNotificationCenter都是iOS观察者模式的一种实现。区别在于,相对于被观察者和观察者之间的关系,KVO是一对一的,而不是一对多的。KVO对被监听的对象没...原创 2019-04-16 22:24:12 · 142 阅读 · 0 评论 -
KVO 解密二:探秘KVO实现原理
探秘KVO实现原理待续…原创 2019-04-16 22:26:47 · 85 阅读 · 0 评论 -
MJExtension实现原理简单剖析
MJExtension实现原理简单剖析剖析MJExtension实现字典转模型的大致流程,我们不难发现分为4步:1.遍历模型中的所有属性2.解析属性的类型3.以属性名为key在字典中寻找对应的值4.根据属性的类型转化成对应的值并赋值首先实现第一步:遍历模型以及模型父类的所有属性,重新封装一个Property类,然后将Property对象放在数组中以供调用#import <Fo...原创 2019-04-17 14:55:18 · 340 阅读 · 0 评论