首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
iOS底层原理分析
Study_Min
创建于2021-07-30
订阅专栏
iOS底层原理分析
等 7 人订阅
共41篇文章
创建于2021-07-30
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Method-Swizzling 方法交换
method-swizzling 是什么? method-swizzling的含义是方法交换,其主要作用是在运行时将一个方法的实现替换成另一个方法的实现,这就是我们常说的iOS黑魔法, 在OC中就是利
OC底层面试解析
【1】Runtime Asssociate方法关联的对象,需要在dealloc中释放? 当我们对象释放时,会调用dealloc 1、C++函数释放 :objc_cxxDestruct 2、移除关联属性
类扩展 与 关联对象 底层原理探索
本文的主要目的是针对类的加载的一个扩展,主要讲讲类拓展和分类的底层实现原理 类扩展 与 分类 的区别 1、category 类别、分类 专门用来给类添加新的方法 不能给类添加成员属性,添加了成员属性,
类的加载(下)
在上一篇文章类的加载(上)中,理解了类是如何从Mach-O加载到内存中,这次我们来解释下分类是如何加载到类中的,以及分类和类搭配使用的情况 分类的本质 前提:在main中定义LGperson的分类LG
类的加载(上)
我们初步探索了dyld和objc的关联,也因此引出将类加载到内存中,最关键的就是两个函数map_images和load_images map_images:主要是管理文件中和动态库中的所有符号,即cl
dyld与objc的关联
本文的主要目的是理解dyld与objc是如何关联的 在上一篇文章dyld加载流程 中,我们梳理了dyld的加载流程,下面来详细介绍下dyld和objc的关联 _objc_init 源码解析 首先,来看
dyld加载流程
本文的目的主要是分析dyld的加载流程,了解在main函数之前,底层还做了什么 引子 创建一个project,在ViewController中重写了load方法,在main中加了一个C++方法,即kc
消息流程分析之慢速查找
在上一篇objc_msgSend流程分析之快速查找文章中,我们分析了快速查找流程,如果快速查不到,则需要进入慢速查找流程,以下是慢速查找的分析过程 objc_msgSend 慢速查找流程分析 慢速查找
消息流程分析之快速查找
本文的主要目的是理解objc_msgSend的方法查找流程 在上一篇文章objc_class 中 cache 原理分析中,分析了cache的写入流程,在写入流程之前,还有一个cache读取流程,即ob
objc_class 中 cache 以及sel-imp原理分析
本文的主要目的是理解cache_t以及sel-imp的缓存原理 整体分析 在之前的isa与类关联的原理和类 & 类结构分析中,分析了objc_class中isa和bits,这次主要是分析objc_ca
strong©&weak底层分析 以及 方法签名和attribute简写含义
在clang编译的cpp文件中可以发现 strong & copy & weak 修饰的属性在编译的底层代码中是有区别的 strong & copy & weak 底层分析 在LGPerson中我们定
类 & isa 经典面试题分析
本文的面试题主要涉及isa走位 & 继承关系 & 类结构 相关的面试题以及针对面试题的分析 【面试题】类存在几份? 由于类的信息在内存中永远只存在一份,所以 类对象只有一份 【百度面试题】objc_o
类 & 类结构分析
本文的主要目的是分析 类 & 类的结构,整篇都是围绕一个类展开的一些探索 类 的分析 类的分析 主要是分析 isa的走向 以及 继承关系 准备工作 定义两个类 继承自NSObject的类LGPerso
isa与类关联的原理
在alloc & init & new文章中,alloc有3个核心操作,其中一个就是obj->initInstanceIsa:类与isa关联,这就是今天需要探索的内容。 本文的主要目的是理解类与isa
malloc 源码分析
在alloc & init & new文章中,alloc有3个核心操作,其中一个就是calloc,即申请内存,这就是今天需要探索的内容,其实探索的本质也是为了验证 ios中对象中实际的对齐方式是8字节
内存对齐原理
在探讨内存对齐原理之前,首先介绍下iOS中获取内存大小的三种方式 获取内存大小的三种方式 获取内存大小的三种方式分别是: sizeof class_getInstanceSize malloc_siz
NSObject的alloc 源码分析
在上一篇文章中分析了alloc的源码,这篇文章是作为对上一篇文章的补充,去探索为什么NSObject的alloc方法不走源码工程。 主要NSObject中的alloc是与自定义类的alloc的源码流程
alloc & init & new
在分析alloc源码之前,先来看看一下3个变量 内存地址 和 指针地址 区别: 分别输出3个对象的内容、内存地址、指针地址,下图是打印结果 结论:通过上图可以看出,3个对象指向的是同一个内存空间,所以
下一页