首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
oc 底层原理分析
湘江Coder
创建于2021-05-13
订阅专栏
主要从oc 的角度分析iOS 底层原理知识
等 8 人订阅
共51篇文章
创建于2021-05-13
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
OC底层原理-9:strong©&weak底层分析-以及-方法签名和attribute简写含义
copy和strong修饰的属性在底层编译的不一致,主要还是llvm中对其进行了不同的处理的结果。copy的赋值是通过objc_setProperty,而strong的赋值时通过self + 内存平移(即将指针通过平移移至name所在的位置,然后赋值),然后还原成 strong…
OC底层原理-08:类-&-isa-经典面试题分析
其大致含义就是:该函数在向类实例发送消息时会被调用,并返回一个指向方法实现函数的指针。这个函数会比method_getImplementation(class_getInstanceMethod(cls, name))更快。返回的函数指针可能是一个指向runtime内部的函数,…
OC底层原理-07:类-&-类结构分析
元类 是类对象 的类,每个类都有一个独一无二的元类用来存储 类方法的相关信息。 下面在这两个结构体的基础上,对上述问题进行探索。
OC底层原理-06:isa与类关联的原理
主要是用于底层编译,将一些文件``输出成c++文件,例如main.m 输出成main.cpp,其目的是为了更好的观察底层的一些结构 及 实现的逻辑,方便理解底层原理。 LGPerson_IMPL中的第一个属性 其实就是 isa,是继承自NSObject,属于伪继承,伪继承的方式…
OC底层原理-05:malloc-源码分析-思路
在iOS-底层原理 01:alloc & init & new 源码分析文章中,alloc有3个核心操作,其中一个就是calloc,即申请内存,这就是今天需要探索的内容,其实探索的本质也是为了验证 i
OC底层原理-04:内存对齐原理
2、我们一般用sizeof计算内存大小时,传入的主要对象是数据类型,这个在编译器的编译阶段(即编译时)就会确定大小而不是在运行时确定
OC底层原理-03:NSObject的alloc-源码分析.md
主要NSObject中的alloc是与自定义类的alloc的源码流程的区别,以及为什么NSObject中的alloc不走源码工程。 在上一篇文章中分析了alloc的源码,这篇文章是作为对上一篇文章的补充,去探索为什么NSObject的alloc方法不走源码工程。 继续执行代码,…
OC底层原理-02:objc4-781-源码编译-&-调试
如果还是报错CrashReporterClient 的问题,解决方法是 在BuildSetting --> Other Linker Flags 中去掉CrashReporterClient . 问题描述为:/xcodebuild:1:1: SDK "macosx.intern…
OC底层原理01:-alloc-&-init-&-new-源码分析
这就是这次探索的核心内容。 alloc做了什么?init又做了什么? ##一. objc源码探索流程 如上所示,在calloc方法中,当我们无法确定实现走到哪步时,可以通过断点调试,判断执行走哪部分逻辑。这里是执行到_objc_rootAllocWithZone 1、目的:编译…
OC底层原理探究-源码分析的方式
对与iOS的底层原理探索一般有三个手段可以实现真机调试符号断点直接跟流程分析通过按住control+step into汇编流程分析下面详细介绍如何使用三种方法查找方法函数所在的源码位置,已alloc为
OC底层原理解析(面试题)
编译器会认为 kc也是LGPerson的一个实例化对象,即kc相当于isa,即首地址,指向LGPerson,具有和person一样的效果,简单来说,我们已经完全将