多线程编程中,应该尽量避免资源在线程之间共享,以减少线程间的相互作用。 但是总是有多个线程相互干扰的情况(如多个线程访问一个资源)。在线程必...
CAShapeLayer介绍 CAShapeLayer继承自CALayer,可使用CALayer的所有属性 CAShapeLayer需要和贝塞尔...
CAReplicatorLayer是一个Layer容器,添加到容器上的子Layer可以复制若干份;可以设定子Layer复制份数、设定副本之间的距...
有时候开发中有绘制声波图形的需求,找到类似的demo借鉴了一下思路,下面是波形的效果图。 先说一下图1.1 和图 1.2 的实现,下载这个Dem...
请下载Demo CALayer有一个属性叫做mask(对应UIView中maskView属性,下文说的maskView和mask是一个东西),m...
本文主要讲述一些 Cache 的基础知识,简单介绍一下 YYCache的实现。 “存贮数据(使用频繁的数据)的临时地方,因为取原始数据的代价太大...
什么是单元测试 ? 针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。对于面向对象编程,最小单元就是...
delegate delegate 是代理模式的一种实现,就是委托他人帮自己做事。<事件一般通过protocol约定>一般的使用场景是 控制器的...
项目崩溃,crashLog可是你的救命稻草,能让你快速分析出bug的问题所在,不会收集可不行。当然项目在开发时,可以通过控制台log看到调用堆栈...