DeskMini 310 黑苹果组装记

总是帮别人荐机,这次自己来打个样!
Read more →

Swift Tips

三言两语,话说 Swift。
Read more →

[译] Swift 编译器

翻译自 Swift Compiler
Read more →

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

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

MustOverride 源码解读

MustOverridenicklockwood 多年前开源的一个 Obj-C 库。其作用正如其名「MustOverride」即可以使得子类必须重写父类中的某些方法,防止子类因未实现父类的某些方法而出现不可预知的错误。
Read more →

「2019 · 结」

2019 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100%
Read more →

Obj-C 中的对象

Obj-C 中的对象分为实例对象、类对象、以及元类对象三种,本文将借助源码简单了解一下不同类型对象的真实构造。
Read more →

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

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

将 Obj-C 代码翻译为 C/C++ 代码

Objective-C => C/C++
Read more →

Obj-C 中的 Block

从 OS X Snow Leopard 和 iOS 4 开始,Apple 引入了 Block 的概念。Obj-C 中的 Block 即通常意义上的匿名函数,而之所以引入是因为 C 语言中并不支持匿名函数。这使得 Block 在 Obj-C 中可以称为是一类公民,既可以作为类的属性,也可以作为函数参数或返回值来传递。那么本文就将着眼于此,谈谈 Obj-C 中的 Block。
Read more →

《编写高质量 iOS 与 OS X 代码的 52 个有效方法》阅读笔记

《编写高质量 iOS 与 OS X 代码的 52 个有效方法》原著名为《Effective Objective-C 2.0》,是类似笔者这样的 iOS 初级入门者必读书目之一。本文不仅是此书的阅读笔记,也有 Demo 代码等,较为独立的篇章内容则融入笔者的独立文章中。
Read more →

双 11 买买买 - 开始抢购啦 💰

➡️ 618 远去了… 双十一又来啦!种草计划 —— 开启~
Read more →

iOS 中的库与框架

随着软件工程的发展,很多我们需要的功能前人都已经很好地实现了,为了提高效率避免重复建设,这些功能实现的代码被封装为代码库,有时也称框架。我们只需要在用到的时候通过依赖管理工具将它们以适当的方式引入即可。本文将简单聊聊 iOS 中的库与框架相关概念。
Read more →

iOS 中的 Category

iOS 中的 Category 中文常译作分类、类别。我们经常会使用 Category 来对一个类进行扩展,使得在不破坏主类结构的同时可以具备更多的功能;也可以使用 Category 对一个类进行拆分,使得其结构更加清晰条理。本文将从 What - How - Why 谈谈 iOS 中 Category。
Read more →

浅尝 objc_msgSend

Obj-C 中方法调用的本质是消息发送机制,即 [foo bar] 是向 foo 对象发送一条 bar 的消息,而消息发送就是通过 objc_msgSend 所进行的。那么这次本文就简单窥探一下 objc_msgSend 吧。
Read more →