Objective-C 一个一直以来令人诟病的地方就是没有命名空间,在应用开发时,所有的代码和引用的静态库最终都会被编译到同一个域和二进制中。这样的后果是一旦我们有重复的类名的话,就会导致编译时的冲突和失败。为了避免这种事情的发生,Objective-C 的类型一般都会加上两到三个字母的前缀。在 Swift 中,由于可以使用命名空间了,即使是名字相同的类型,只要是来自不同的命名空间的话,都是可以和平共处的。
我们经常需要在应用中使用倒计时的功能,常见地方有发送验证码、限时抢购等等。通常我们可以使用 NSTimer、GCD 等方式来进行计时操作,但是当应用进入后台时,倒计时便会停止,再回来后计时就不准确了,那如何让倒计时尽量的准确呢,这里提供了几个方案可以作为参考。
在 iOS 中并发编程除了经常使用的 GCD 外还可以使用 NSOperation。与 GCD 相比 NSOperation 是面向对象的,所以更加易于使用,而且 NSOperation 包含了一些 GCD 较难实现的功能,也是苹果推荐的方式。
GCD 是一套底层级的 C API,通过 GCD 可以方便的进行并发编程。GCD 在后端管理着一个线程池,它决定代码块在哪个线程执行,并根据可用的系统资源对这些线程进行管理。
CocoaPods 是常用的开发 iOS/macOS 程序的三方库依赖管理工具。通过 CocoaPods 我们可以定义自己的依赖关系,方便的对第三方库进行管理。
最近在做项目时需要做一个可以左右切换视图的页面,当然就需要一个类似于 Segment 这样的切换 View 。在网上有不少这样的源码,总体来说原理差不多,实现起来也不算复杂。最近我在看其他客户端时发现首页上的类似的 View 附带了颜色渐变的效果,于是便想试一下他这种效果应该怎么去实现。