JHBLOG 享受生活,享受当下!

Cocoapods实现私有库

在 iOS 开发中,使用 CocoaPods 实现私有库(Private Pod)是一种常见的模块化和代码复用方式。以下是详细步骤,教你如何创建并使用自己的私有 CocoaPods 库。 一、准备工作 1. 安装 CocoaPods(如未安装) sudo gem install cocoapods

johnhao 发布于 2020-01-14

Swift-高级特性教程

1. 可选类型与错误处理 1.1 可选类型 1.1.1 概念 可选类型(Optional):表示一个值可能存在或不存在的类型 可选类型通过在类型名后添加问号?来表示 可选类型的可能值: 一个具体的值(如Int类型的42)

johnhao 发布于 2018-03-17

Swift-函数式编程教程

1. 函数式编程基础 1.1 函数式编程概念 1.1.1 概念 函数式编程(Functional Programming)是一种编程范式,它将计算视为数学函数的求值,避免状态变化和可变数据。函数式编程强调函数的纯粹性、不可变数据和函数的组合。 1.1.2 核心原则 不可变数据(Immutabilit

johnhao 发布于 2018-03-10

Swift-面向对象编程教程

1. 类与结构体 1.1 概念 类(Class):引用类型,支持继承、类型转换、析构函数和引用计数 结构体(Struct):值类型,不支持继承,适合表示简单的数据结构 1.2 原理 引用类型:多个变量可以引用同一个实例,修改一个变量会影响其他引用该实例的变量 值类型:每个变量都有自己的实例副本,修改

johnhao 发布于 2018-03-07

Swift-基础语法教程

1. 变量与常量 1.1 概念 变量(Variable):可以随时修改的值,使用var关键字声明 常量(Constant):一旦设置就不能修改的值,使用let关键字声明 1.2 原理 Swift是一门类型安全的语言,编译器会在编译时检查类型,确保变量和常量的使用符合其类型定义。使用常量可以提高代码的

johnhao 发布于 2018-03-05

iOS- Block

block 是 Objective-C 中对闭包(closure)的实现,它允许你将一段代码逻辑连同其上下文环境一起封装起来,并作为参数传递、存储或延迟执行。理解 block 的原理、本质以及使用注意事项对于编写高效、安全的 Objective-C 代码非常重要。 一、Block 的原理与本质 1.

johnhao 发布于 2017-07-05

iOS-load/initialize区别

在 Objective-C 中,+load 和 +initialize 是两个特殊的类方法,用于在类加载或首次使用时执行初始化代码。它们在运行时系统(Runtime)中有特定的调用时机和顺序,尤其在涉及分类(Category)和继承时,行为有明显差异。 下面从区别、调用顺序、继承场景下的行为三个方面

johnhao 发布于 2017-07-05

iOS-KVC

KVC(Key-Value Coding,键值编码)是 Objective-C 和 Swift(通过 Foundation 框架)中一种访问对象属性的机制,它允许你通过字符串形式的 key(或 keyPath)来间接访问对象的属性,而不需要直接调用 getter/setter 方法。 一、KVC 的

johnhao 发布于 2017-07-04

iOS-KVO

KVO(Key-Value Observing)是 iOS/macOS 中用于实现观察者模式的一种机制,允许一个对象监听另一个对象特定属性的变化。要理解 KVO 的本质,需要从其实现原理入手。 一、KVO 的基本使用方式 在 Objective-C 或 Swift(通过 @objc dynamic)

johnhao 发布于 2017-07-04

iOS-OC对象的本质

OC(Objective-C)对象的本质可以从底层实现的角度来理解。在 Objective-C 中,对象本质上是一个结构体(struct)的指针,这个结构体的第一个成员是 isa 指针,用于指向该对象所属的类(Class)。这是 Runtime 系统识别和操作对象的关键。 1. 对象的底层结构 在

johnhao 发布于 2017-07-01