字符编码的秘密:Unicode 和 UTF 到底是什么?|计算机基础|Unicode本文从字符编码的历史演进出发,介绍了从 ASCII 到 Unicode 的发展历程。详细讲解了 Unicode 的设计理念、分层结构以及内部特性,包括字符分类、属性系统和规范化形式等核心概念,帮助读者深入理解现代字符编码的工作原理。
阅读更多
iOS 开发者必备:深入理解 for-in 循环的实现原理|iOS|底层原理深入探讨 iOS 中 for-in 循环的底层实现原理,从 NSFastEnumeration 协议到快速枚举器的实现细节。通过源码分析,揭示 for-in 循环如何高效地遍历集合对象,以及它与普通 for 循环的性能差异。
阅读更多
iOS 如何找到那个方法?消息机制底层探秘|iOS|Runtime深入 iOS Runtime 消息机制的核心实现,从 objc_msgSend 的汇编代码到方法查找、动态解析和消息转发的完整流程。通过源码分析,揭示 ObjC 如何在运行时高效地查找和执行方法。
阅读更多
iOS 中的 +load 和 +initialize 在继承与分类中的不同表现|iOS|Runtime-Category深入解析iOS中+load和+initialize方法的调用机制,从继承关系和分类实现两个维度剖析其差异,揭示这两个重要类方法在运行时环境中的独特表现,帮助开发者更好地理解和运用这些基础概念。
阅读更多
窥探block:iOS闭包底层原理完全解析|iOS|blockblock 是 iOS 开发中一个非常常用的特性,它允许我们在代码中定义匿名函数,并将其作为参数传递给其他函数。本文将深入分析 block 的底层原理,包括其内部数据结构、内存管理机制、线程安全性以及性能考量等关键细节,帮助读者更好地理解和运用这一技术。
阅读更多
iOS分类中的关联对象:如何用运行时突破Category的存储限制|iOS|Runtime关联对象是 iOS Runtime 提供的一种强大特性,它允许我们在运行时为对象动态添加 '属性'。通过关联对象,我们可以突破 Category 无法添加实例变量的限制,实现类似实例变量的效果。本文将深入分析关联对象的底层实现原理,包括其内部数据结构、内存管理机制、线程安全性以及性能考量等关键细节,帮助读者更好地理解和运用这一技术。
阅读更多
Tagged Pointer:苹果工程师的内存优化艺术|iOS|内存管理探索 Tagged Pointer 技术如何巧妙地将小型数据直接编码进指针,避免堆内存分配,实现高达 100 倍的性能提升,揭示苹果工程师们在内存优化领域的精妙设计。
阅读更多
AutoreleasePool:iOS 内存管理乐章中的隐秘旋律|iOS|内存管理深入剖析iOS中AutoreleasePool的底层实现,揭示其双向链表结构、对象管理机制和性能优化方案,无论你是初学者还是资深开发者,都能从这篇深度技术文章中获得对iOS内存管理机制的全新认识。
阅读更多
2024 再探ObjC-Category:动态特性与运行时实现的极致之美|iOS|ObjC-Runtime-CategoryCategory 是 ObjC 中一个基础且重要的概念。本文将从 Runtime 源码入手,向你介绍 Category 的概念以及底层的实现原理。
阅读更多
深入解析 iOS-RunLoop:事件驱动的核心机制|iOS|RunLoopRunLoop 是 iOS 开发中的一个基础概念,线程中的自动释放池、NSTimer、系统事件响应、屏幕刷新的实现都与它相关,本文将深入剖析 iOS 中 RunLoop 的内部实现细节,帮助你更好地理解这一机制。
阅读更多