Runtime 简单应用:AXKit手势分类实现原理

手势的应用场景很多,如果你觉得系统给我们提供的方法使用起来并不那么方便,那么本文可能对你有帮助,因为我用block对其进行了封装。

应用场景

  • 场景1:为了调试某个功能,快速给一个视图添加手势,要求轻触的时候执行某段代码。
  • 场景2:tabbar按钮双击刷新列表,要求双击的速度在一秒内,执行某段代码。
  • 场景3:给某个图片添加捏合手势以及旋转手势。
  • ……

iOS 分层架构初探

这篇博客把分层架构讲的很形象: 三层架构(我的理解及详细分析)

为什么要分层

代码系统分层就好比管理分层一样,各司其职,优点非常多,对于软件后期的维护来说是十分有必要的。它的优点有:

  • 解耦

    上一层依赖于下一层,如果测试下一层没有问题,那么问题就只有可能发现在本层了,便于发现和改正BUG。体现了“高内聚,低耦合”的思想。

  • 分工明确

    各个层次分工明确,将一个复杂问题简单拆分了。

  • 便于维护

    各层间通过接口解耦,接口与实现分离,从而可以非常简单的替换掉实现,或者实际实现等。

  • 逻辑复用(代码复用)和劳动成本的减少

    分层的根本在于代码的复用和劳动成本的减少。分层的最理想化的结果是实现层与层之间的互不依赖的内部实现,所谓的即插即用。

NEXUS 这个工具,以后不再更新了

Dev

前几天一哥们发现了一个小BUG,立即打开尘封已久的 NEXUS 项目,发现距离上次更新已经时隔一年。以后我几乎不再使用 Windows 系统了,所以不出意外的话这就是最后一次更新了。

那么,什么是 NEXUS ?

简单地说,就如同电脑管家+快捷搜索+激活工具集锦+……
NEXUS(魔枢)意为联接、沟通,在《魔兽》里翻译为魔枢,《星际迷航》里翻译为时汇。软件以此为名旨在连通问题与答案,终极目标即输入任何问题或需求,即可一步达到目的,成为一个信息的枢纽。
魔枢的方便之处在于:点击屏幕左上角,即可呼出搜索栏,此搜索栏对于一些常用的网站如[优酷]、[淘宝]等等可以直达官网,省去了搜索引擎检索的步骤。左上角热键是透明的,不影响视觉,只有在允许魔枢后台运行时才会生效。

封装 .framework 静态库

为什么要封装静态库

像工作中使用的第三方SDK基本上都是闭源的,因为公司不能把自己的机密泄露出去。所以当需要给别人提供SDK但不让他们知道代码的实现时就需要封装成静态库。

静态库有.a库和.framework库,苹果官方更建议我们使用.framework库,因为其更加强大。

.a是一个纯二进制文件,.framework中除了有二进制文件之外还有资源文件。
.a文件不能直接使用,至少要有.h文件配合,.framework文件可以直接使用。
.a + .h + sourceFile = .framework。

从 UIImageView 指定点取色

开发中有时候会遇到这样的需求,要给用户一个取色板,让用户从中自由地选取颜色,用来改变主题或者控制灯具的颜色等。这时候我们就需要获取一个视图的指定坐标的颜色值。

使用场景

有时候我们可能会需要一个取色器,例如我的蓝牙灯项目,让用户从一个取色器中随意取色:

iOS 链式封装,更优雅地存取沙盒文件

假如你需要把一个字典或者别的什么东西保存到沙盒里,你准备怎么做?也许你已经条件反射的想到了操作步骤……其实,你可以不必每次都那么老老实实的把每一步写出来,一行代码就可以了:

1
@"文件名".cachePath.save(要保存的内容);

本质上就是把沙盒文件操作简化为:【路径+保存文件】两个关键点,组成一条链式语法。

如何发布源码到 CocoaPods

说实在话,类似的教程网上很多,基本可以满足大多数人零基础发布CocoaPods,但是其中可能会遇到一些问题,只有亲自尝试过才知道。

准备工作

1. clone远程仓库到本地

1
git clone 你的仓库链接

2. 注册trunk

注册的命令

1
pod trunk register 你的邮箱 你的用户名

记得去邮箱里验证,然后可以输入以下命令查看个人信息

1
pod trunk me