iOS分类中的关联对象:如何用运行时突破Category的存储限制
关联对象是 iOS Runtime 提供的一种强大特性,它允许我们在运行时为对象动态添加 '属性'。通过关联对象,我们可以突破 Category 无法添加实例变量的限制,实现类似实例变量的效果。本文将深入分析关联对象的底层实现原理,包括其内部数据结构、内存管理机制、线程安全性以及性能考量等关键细节,帮助读者更好地理解和运用这一技术。
阅读更多
Tagged Pointer:苹果工程师的内存优化艺术
探索 Tagged Pointer 技术如何巧妙地将小型数据直接编码进指针,避免堆内存分配,实现高达 100 倍的性能提升,揭示苹果工程师们在内存优化领域的精妙设计。
阅读更多
AutoreleasePool:iOS 内存管理乐章中的隐秘旋律
深入剖析iOS中AutoreleasePool的底层实现,揭示其双向链表结构、对象管理机制和性能优化方案,无论你是初学者还是资深开发者,都能从这篇深度技术文章中获得对iOS内存管理机制的全新认识。
阅读更多
2024 再探ObjC-Category:动态特性与运行时实现的极致之美
Category 是 ObjC 中一个基础且重要的概念。本文将从 Runtime 源码入手,向你介绍 Category 的概念以及底层的实现原理。
阅读更多
深入解析 iOS-RunLoop:事件驱动的核心机制
RunLoop 是 iOS 开发中的一个基础概念,线程中的自动释放池、NSTimer、系统事件响应、屏幕刷新的实现都与它相关,本文将深入剖析 iOS 中 RunLoop 的内部实现细节,帮助你更好地理解这一机制。
阅读更多
揭开 iOS 中 weak 指针的神秘面纱:从原理到实践
weak 指针是 iOS 开发中一个非常基础的概念,在开发过程中我们经常使用它,它到底是怎么实现的?这篇文章将从 Runtime 源码入手,为你介绍 weak 指针的实现原理;让你知其然,更知其所以然。
阅读更多
慎用unsigned类型
由 布多(budo) 发布于 2022-07-22 这篇文章我会从计算机基础的角度向大家解释 unsigned 类型 和 signed 类型在内存中到底是如何存储的,以及为什么要慎用 unsigned 类型。 我是站在 iOS 开发角度写的这篇文章,所以会出现一些OC代码,如果你看不懂的话可以 ...
阅读更多
Code Review规范
由 布多(budo) 发布于 2022-01-20 本文的名词解释: CR:code review CL:change list(指这次改动) 前言这篇文章是站在公司的角度基于 Google的代码审查指南 和笔者实际经验的个人总结,所以相对原文(Google的代码审查指南)有适当的删减, ...
阅读更多
ObjC 开发规范
我们无法写出完全没有BUG的代码,但是我们可以尽量写出容易阅读和逻辑简单清楚的代码,容易阅读和逻辑简单清楚的代码从某种程度上会减少BUG以及BUG的修复难度。
阅读更多
Git命令手册
由 布多(budo) 发布于 2021-08-11 前言     该手册(以下简称它)不是Git入门教程,如果您想入门Git推荐廖雪峰的Git教程     这只是一篇个人学习Git时顺带记录的命令手册以及对Git的一 ...
阅读更多