Obj-C 中实例变量和类的访问控制

Obj-C 中的实例变量,即 Instance Variables,简称为 ivar。在面向对象的概念中,一个类的对外暴露决定了其所提供的能力,对子类则需要提供一定的扩展性,但有些时候我们不希望外界甚至子类知道一些细节,这时就用到了访问控制(Access Control)。在 C++、Java、Swift 等大多数高级语言中都有这样的概念,那么这次就来谈谈 Obj-C 中实例变量和类的访问控制。
Read more →

iOS 多线程技术实践之 pthreads(一)

在现代计算机中,操作系统一般都会支持多进程以及多线程技术,使得其可以同时运行多个程序且效率更高。而我们在开发 iOS app 中也时常需要利用到这些特性,以为用户提供更加良好的使用体验。通常来说,一个 iOS app 为一个进程,其中又至少有一个线程,即主线程;前者进程由操作系统创建我们很难干预,而线程则「自由」许多,可以为我们所用。由于多线程技术内容较多,我将把相关内容进行拆分,本文作为该系列第一篇,先从 pthreads 说起。
Read more →

SwiftTips in Reverse

SwiftTipsJohn Sundell 在 GitHub 开源的 Swift 小技巧列表。随着 Swift 5 的发布以及 ABI 稳定,是时候再学习一遍 Swift 啦。本文将是该列表的实践版本,并保证文中代码的可运行性,且尽可能做到倒序日更。(But why in reverse? 🤫)
Read more →

Obj-C & Swift 的类型内省与反射

许多编程语言中都有类型内省(又称自省,Introspection)和反射(Reflection)这两个概念,本文将探讨一下 Obj-C 和 Swift 中类型内省和反射的相关概念与具体使用。
Read more →

iOS 项目持续集成实践(一)

一个软件工程项目从编写、到测试、再最终交付到用户通常有很多重复且固定的步骤。虽然作为开发者,我们的核心任务是编写代码,而这些其他的步骤却也不能忽视,持续集成(Continuous Integration)则可以帮助开发者完成这些琐碎的事务,提升团队的开发效率与质量。
Read more →

在 Swift 中对集合类型元素的弱引用

在 Swift 中对集合类型元素的弱引用。
Read more →

从 0 开始使用 Docker 快速搭建 Hadoop 集群环境

从 0 开始使用 Docker 快速搭建 Hadoop 集群环境。
Read more →