作者:johnhao

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

iOS-多线程GCD

在 iOS 开发中,多线程是提升应用性能、优化用户体验的关键技术。而 GCD(Grand Central Dispatch) 是 Apple 提供的一套强大、高效的并发编程接口,它基于 C 语言实现,封装了底层线程管理的复杂性,让开发者可以专注于任务本身。 本文将系统讲解 GCD 的核心概念、使用方

johnhao 发布于 2017-05-06

iOS-OC的消息机制

Objective-C(OC)的消息机制是其最核心、最具特色的运行时特性之一。与 C++ 或 Java 等语言在编译期绑定方法调用不同,OC 的方法调用是在运行时动态解析的,这种机制称为 消息传递(Message Passing)。 一、什么是消息机制? 在 OC 中,调用一个方法实际上是在向对象发

johnhao 发布于 2017-01-11