MENU

标签 原创 下的文章

如何让系统单例更易测试

Cover

UIApplicationUIScreen 为代表的单例模式是 iOS 中最为常见的设计模式了,你可以在代码中的任意位置调用其属性或者方法。但是这种便利也给程序代码来一些负面影响,这种全局共享状态的做法对于代码测试来说简直就是噩梦。虽然我们可以对部分单例进行重构,但是系统单例依旧需要一些技巧进行改造才能变成测试友好对象。

阅读全文

Swift 线程安全数组

Cover

有并发的地方就存在线程安全问题,尤其是对于 Swift 这种还没有内置并发支持的语言来说线程安全问题更为突出。下面我们通过常见的数组操作来分析其中存在的线程问题,以及如何实现一个线程安全数组。

阅读全文

Swift 4 JSON 解析进阶

在前面 JSON 解析指南中,有网友提出了在使用类继承时默认实现存在问题。这个问题触发了更多的思考和学习,对他致以最高的谢意。接下来,我就从这个问题开始进一步介绍 Swift 4 中 JSON 解析。

2017-08-18-01.jpeg

阅读全文

Swift中的Selector

01

Selector作为一个在很多Objective-C设计模式中的重要组成部分,Swift为了保证部分接口的一致性依然保留了这一概念。这篇文章时我在学习这部分内容时的遇到问题的一些总结。

虽然Swift中依然保留了对Selector的支持。但是在某些地方我们可以采用更为安全的方式来实现Objective-C中对应的部分。例如:respondsToSelector:performSelector:可以分别使用协议类型的可选链和闭包进行替换。

阅读全文