iOS优质源码解读
Deft_MKJing宓珂璟
并非所有流浪者都迷失了自我
展开
-
iOS Block源码分析系列(一)————2分钟明白Block究竟是什么?
Block其实就是C语言的扩充功能,实现了对C的闭包实现,一个带有局部变量的匿名函数。 Block的语法,类型介绍我这里就不BB了,网上太多了,全是介绍怎么写的,这里开几篇博客来看看block的源码和内部实现结构,网上写的很乱很杂,而且都不全,自己买了本书,开搞!!!!!!入门嘛,咱们先来一段最最最简单的代码#include "stdio.h"int main(){ void ...原创 2016-11-12 23:35:01 · 5255 阅读 · 2 评论 -
iOS性能优化系列之__builtin_expect分支预测优化
前言最近想整理下AFNetworking中https认证部分的代码逻辑,结果看到个神奇的东西__builtin_expect,竟然不知道这是干嘛的,搜索了一整子,记录一下,可以作为一个优化点/* * __Require_noErr_Quiet(errorCode, exceptionLabel) * * Summary: * If the errorCode expression原创 2017-11-22 18:51:55 · 1440 阅读 · 0 评论 -
iOS AOP开发框架Aspects原理
前言整理了下AOP相关的东西,AOP则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。方案一(消息转发之前)该方案是使用`method_exchangeImplementations` 两个已知的方法和实现进行交换。基础AOPDemo 具体参考这个Demo,这里就不展开了,这种实现方式比较直观,用容器抽离出来即可,一样可以实...原创 2018-03-15 16:41:15 · 3832 阅读 · 0 评论 -
YYImage实现思路源码分析(图片解压缩原理)
YYKit组件之一---->YYImage 图像处理移动端图片格式调研 图片处理的小技巧YYWebImage源码分析YYModel源码分析YYText源码分析 核心思路--->图片解码 (二进制数据<-->位图)雷纯峰的分析这段是前言,介绍下图片是如何解码的。不想看到的可以直接无视 核心代码:[_decoder frameAtI...原创 2018-04-09 18:00:13 · 3690 阅读 · 0 评论 -
iOS高性能Model转换框架----YYModel学习
YYWebImage源码分析YYImage源码YYText源码分析框架简介YYClassIvarInfo此类就是objc_ivar的封装/** Instance variable information. struct objc_ivar { char * _Nullable ivar_name OBJC2_UNAVAILABL...原创 2018-04-03 17:02:09 · 3982 阅读 · 0 评论 -
YYWebImage流程源码分析(YYCache和YYImage设计思路)附带所有YYKit组件源码分析
以下所有的介绍不想看源码,可以直接看文字介绍,一样的逻辑,不妨碍阅读前言首先,所有的源码和作者提供的基本资料在这里都能找到点击打开链接YYWebImage是网络图片下载的Category,其中YYImage是编码解码的基石,YYImage已经单独拉出一篇分析过了YYImage分析,非常重要的编码解码思路,可以看看,还有一个就是YYCache,这里就和YYWebImage一起分析了。大家熟知的就是S...原创 2018-04-11 17:16:56 · 3311 阅读 · 0 评论 -
NSDictionary和NSMutableArray底层原理(哈希表和环形缓冲区)
前言1.NSDictionary底层是哈希表,下面会介绍具体是用拉链法还是开放定址法线性探测来解决冲突?由于Apple给的查询复杂度可以快至O(1),那么为什么是O(1),底层是如何通过空间换取时间的?2.NSArray是线性连续内存,这个很好理解。但是NSMutableArray是可以插入和删除的,那么如何做到高效?就比如插入,如何做到尽可能少的移动或者不移动插入元素后其他元素的内存?实...原创 2018-09-17 12:43:42 · 8839 阅读 · 0 评论