一、栅栏函数 CPU的乱序执行能力让我们对多线程的安全保障的努力变得异常困难。因此要保证线程安全,阻止CPU换序是必需的。遗憾的是,现在并不存在可移植的阻止换序的方法。通常情...
一、栅栏函数 CPU的乱序执行能力让我们对多线程的安全保障的努力变得异常困难。因此要保证线程安全,阻止CPU换序是必需的。遗憾的是,现在并不存在可移植的阻止换序的方法。通常情...
Github地址:-CollectionViewLayout-CollectionViewFlowLayout- 这里详解了三个demo去帮助大家更好的了解Collectio...
AFNetworking网络框架在iOS开发中的霸主地位已经根深蒂固,本篇将基于3.2.1版本对框架的几个核心模块做一波分析。首先对于框架整体的架构,简单归纳如下: AFUR...
charts是iOS上一个非常优秀的使用swift编写的图表框架,点击查看项目github链接,使用该框架可以轻松的绘制出非常漂亮的图表,但是由于是swift写的,导致在OC...
IOS中的Block大致分为三种 第一种 堆block 我们知道 程序在内存中 堆是程序员分配的和使用的栈是系统使用释放的 。 在IOS中我们可以通过打印block的类别来区...
探索底层原理,积累从点滴做起。大家好,我是Mars。 往期回顾 iOS底层原理探索—OC对象的本质iOS底层原理探索—class的本质iOS底层原理探索—KVO的本质iOS底...
序言:关于RunLoop简书有很多技术牛人已经讲述的很详细了,而且不管是项目中或是工作中都会使用到,这段时间看了MJ的视频,所以整理出来相关技术方面的文档,希望对于大家有帮助...
前言 启动时间是衡量应用品质的重要指标。 本文首先会从原理上出发,讲解iOS系统是如何启动APP的,然后从main函数之前和main函数之后俩个角度去分析如何优化启动时间。 ...
首先你需要第三方RegexKitLite以及YYKit 1. 我们先来说说RegexKitLite的导入 你可以在github上下载并导入你的项目,也可以用cocopods导...