在 ABI 稳定前,每次 Swift 升级都是一个比较「痛苦」的体验。这次笔者花费约总共一天时间将 Swift/Obj-C 混编项目升级到 Swift 5.0,其中还是有一些踩坑经验值得分享的。 ......
使用标准互联网协议与 URL 交互,并和服务器通信。 ......
在 iOS 中,经常与 +load 相提并论的一个方法便是 +initialize。从方法名来看,它的作用是进行初始化,但不同于平时使用的 init
,+initialize 是一个类方法。那么它的本质到底是什么呢? ......
🚧 Building… 🚧 上一篇中,主要讲述了如何使用 GitLab Runner 搭建 CI,其主要目的是在工程师开发、提交代码阶段集成了代码检查等工作。那么从代码到交付的过程该如何 CI 化呢?这次本文将聚焦于「使用 Jenkins 和 fastlane 搭建 CI」。 ......
自从「iOS 项目持续集成实践(一)」发布之后,发生了很多事情,原本计划持续更新的系列文章也因此没有更新。这次我将重拾该系列,本文的围绕核心为「使用 GitLab Runner 搭建 CI」。 ......
许多编程语言中都有类型内省(又称自省,Introspection)和反射(Reflection)这两个概念,本文将探讨一下 Obj-C 和 Swift 中类型内省和反射的相关概念与具体使用。 ......
KVC,即 Key-Value Coding,译作键值编码。当对象兼容 KVC 时,可以通过统一的 API 访问对象中某个键对应的属性值。Cocoa 中的许多功能都依赖 KVC,比如,KVO、Cocoa 绑定机制、Core Data、以及 AppleScript 等。 ......