-
在上一篇 OC底层原理17:类的加载(上) 中,理解了 类是如何从Mach-O加载到内存 中,这次我们来解释下 分类 是如何 加载 到 类 中的,以及 分类和类搭配使用 的情况
分类的本质前提:在main中定义 LGperson 的分类LG
探索分...
-
前言在上一篇 OC底层原理16:dyld与objc的关联 文章中,我们理解了 dyld与objc 是如何关联的,本文的主要目的是理解 类的相关信息 是如何 加载 到 内存 的,其中重点关注 map_images 和 load_images
map_...
-
前言本文的主要目的是理解 dyld 与 objc 是如何关联的?
在上两篇文章中,我们梳理了 dyld 的加载流程,下面来详细介绍下 dyld 和 objc 的关联
_objc_init 源码解析首先,来看下libObjc中的_objc_init方法...
-
前言本文的目的主要是分析 dyld 的加载流程,了解在 main 函数之前,底层还做了什么
印子
创建一个project,在ViewController中重写了 load方法,在main中加了一个 C++方法,即 kcFUnc,请问它们的打印先后顺序...
-
前言
在前面两篇文章中,分别分析了 objc_msgSend 的 快速查找(缓存) 和 慢速查找(方法列表),其整个流程:
objc_msgSend -> 慢速缓存查找(没有) -> 慢速方法列表二分查找自己(有) -> cach...
-
前言上一章我们了解了 objc_msgSend消息发送慢速查找流程 即 缓存CacheLookup查找
这一章我们来学习 objc_msgSend消息发送慢速查找流程 即 MethodTableLookup(即查询方法列表)
方法列表查找汇编分析在...
-
前言我们在前面的 OC底层原理10:类 & 类结构分析 中得知 类 都是以 objc_class 模板创建的,而 objc_class 中包含许多属性,如 Class ISA、Class superclass、cache_t cache、cl...
-
前言属性 通过 clang 编译的 cpp 文件中可以发现 copy & strong & weak 修饰, 在编译的底层代码中是有区别的
【补充知识】:Type Encoding & Property Type Strin...
-
前言
什么是侧滑?
侧滑本身是系统自带的,但是是左边缘触发的侧滑;
是什么 导致 了 自带 的实现 不起作用 的?原因有:
(1)隐藏了系统右上角返回的按钮,系统会自动关掉左滑返回的功能;(2)禁用侧滑功能;(3)自定义返回键或者导航栏后,侧滑...
-
前言本文的面试题主要涉及 isa走位 & 继承关系 & 类结构 相关的面试题以及针对面试题的分析
【面试题】类存在几份?由于 类的信息 在内存中永远 只存在一份,所以 类对象只有一份
【百度面试题】objc_object 与 对象 ...