logo头像

学如逆水行舟

Masonry源码解析

Masonry源码解析Masonry的核心依然是使用原生的NSLayoutConstraint类来进行添加约束,通过统一的封装和链式函数式编程的方式让开发者添加约束布局更加方便。 一、核心的View+MASAdditions类别这个类...

HTML5中Canvas元素的使用总结

HTML5中Canvas元素的使用总结

HTML5中Canvas元素的使用总结Canvas提供了开发者自定义绘图的接口,我们可以公国getContext()函数来获取绘图上下文进行绘制操作,这个函数中可以传入两个参数,其中第1个参数设置绘图上下文的类型,比较常用的是&quo...

JSONModel源码解析

JSONModel源码解析

JSONModel源码解析一、引言做移动端开发,解析网络数据是必不可少的工作之一。iOS原生框架很早前就已经提供了将JSON数据直接映射成数组或者字典对象的方法,并且结合KVC,也可以将字典数据直接赋值给对象。但是这种方式十分不灵活,...

从一些简单的例子看算法时间复杂度

从一些简单的例子看算法时间复杂度

从一些简单的例子看算法时间复杂度在编程中,一段代码的执行效率实际上很难估算和预测,其主要受到如下几个方面的影响: 1.算法依据的数学基础。 2.编译器产生的代码质量和语言的执行效率。 3.问题的输入规模。 4.硬件的执行速度。 通常情...

iOS开发中Log模块的解决方案

iOS开发中Log模块的解决方案

iOS开发中Log模块的解决方案在软件开发中,调试模块,Log模块,可视化监控模块等都属于技术需求,并非业务需求,因此在进行这类模块的构建时,我们更多的应该以面向切面的思想来编程。例如Log模块,其往往只是在Debug模式下需要,在编...

iOS高质量的动画实现解决方案——Lottie

iOS高质量的动画实现解决方案——Lottie

iOS高质量的动画实现解决方案——Lottie真心的认为Lottie是一款十分优秀且实用的动画开发库,不只对于iOS和android原生开发者来说其让复杂动画的实现几乎没有成本,对于设计师来说,它的所见即所得,不需导出帧图像等优势也十...

MJRefresh源码分析

MJRefresh源码分析

MJRefresh源码分析 每次读优秀的代码都是一次深刻的学习,每一次模仿,都是创造的开始! ——QQ 316045346 欢迎交流 一、MJRefresh源码结构分析MJRefresh主要为UIScrollView,UITab...

SDWebImage源码分析

SDWebImage源码分析

SDWebImage源码分析 每次读优秀的代码都是一次深刻的学习,每一次模仿,都是创造的开始! ——QQ 316045346 欢迎交流 SDWebImage是iOS开发中非常流行的一个网络图片加载库,如果你观察其源码,会发现其中的文...

从AFNetworking源码分析到应用全解

从AFNetworking源码分析到应用全解

从AFNetworking源码分析到应用全解一、引言AFNetworking是iOS/OS开发中常用的一个第三方网络库,可以说它是目前最流行的网络库,但其代码结构其实并不复杂,也可以说非常简洁优美。在AFNetworking中,大量使...