首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
OC底层
jiahaoshen123
创建于2021-06-05
订阅专栏
学习从现在开始,努力吧少年!
暂无订阅
共16篇文章
创建于2021-06-05
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
jiahaoshen123
2年前
iOS
iOS底层原理—— 知识点
1.load和initialize方法的调用原则和调用顺序? load方法 load方法在应用程序加载过程中(dyld)完成调用,在main函数之前 在底层进行load_images处理时,维护了两个
38
点赞
评论
jiahaoshen123
2年前
iOS
iOS底层原理——类扩展和分类(类别)
1.类扩展 扩展是分类的一种特殊形式。 使用特点 可以说成是特殊的分类,也称做匿名分类 可以给类添加成员属性,但是都是私有的变量 可以给类添加方法,也是私有的方法 2.使用方式 见下面代码: 如果将类
59
点赞
评论
jiahaoshen123
2年前
iOS
iOS底层原理——分类的加载分析
上一篇分析了非懒加载类的加载流程,ro、rw、rwe的逻辑,方法的排序流程等,本篇将重点分析懒加载类和分类的加载过程。 1.引入问题 首先,回顾一下方法methodizeClass,上一篇文章也做了分
36
点赞
评论
jiahaoshen123
2年前
iOS
iOS底层学习——类的加载分析
结合上一篇read_images本篇继续分析类的加载流程。上一篇中,我们已经定位到了非懒加载类初始化的核心流程realizeClassWithoutSwift,现在对realizeClassWitho
30
点赞
评论
jiahaoshen123
2年前
iOS
iOS底层原理-objc_init()以及read_images分析
前言 我们编写的代码,通过编译后形成可执行文件machO,那么这些类信息是什么时候加载到内存的呢?分类是什么?分类中的方法是什么时候加载到本类的呢?带着这些问题,下面逐步分析! 我们在进行dyld分析
40
点赞
2
jiahaoshen123
2年前
iOS
iOS 底层原理- load和initialize分析
1.+load()方法 load方法是我们平时开发中常用的,很多面试题也经常会出现,比如类、父类、分类中load方法的调用顺序等。这里我们首先通过案例明确一下load方法的调用顺序,然后结合源码去分析
41
点赞
评论
jiahaoshen123
2年前
iOS
iOS 底层原理-dyld应用程序加载
1.案例 引入一个案例,在ViewController.m中添加一个load方法,程序main.m中添加一个C++函数。 ViewControler代码如下: main.m代码如下: 运行程序,根据运
39
点赞
评论
jiahaoshen123
2年前
iOS
iOS底层原理—动态方法决议和消息转发
1.问题解析 forward_imp是什么? 如果方法找不到,如何补救? 1.forward_imp是什么? 在上面文章中,有过说明:如果方法未找到,即superclass一路找到了nil,仍未找到,
54
1
评论
jiahaoshen123
2年前
iOS
iOS -底层原理慢速查找
在上一篇文章objc_msgSend快速查找中,探究了函数调用的本质,即消息发送:objc_msgSend,并用汇编代码探究了objc_msgSend快速方法查找(即缓存查找)的流程。 在快速方法查找
44
点赞
2
jiahaoshen123
2年前
iOS
iOS - 底层原理cache_t结构分析
一.cache_t结构分析 在Objective_C层,一切类均继承自NSObject。对应到底层,类(objc_class)继承自objc_object。查看源码objc_runtime_new.h
112
点赞
评论
jiahaoshen123
2年前
iOS
iOS 底层原理 - 运行时、方法调用及快速方法查找
1.运行时和编译时 编译时 顾名思义就是正在编译时候,就是编译器帮你把源代码翻译成机器能识别代码,这个过程做了类型检查、语法分析和词法分析; 运行时 就是代码跑起来了,被装载到内存中去了。 2.Run
53
点赞
评论
jiahaoshen123
2年前
iOS
iOS 底层原理 - 类的结构继续探索
一.类的加载 前面的一些探索中我们遇到了一些类加载相关的知识点,这里简单做一些补充和说明。类加载的详细知识点会在以后的篇幅中说明! 1.firstSubclass为什么是nil 比如上一篇文章中的案例
62
1
评论
jiahaoshen123
2年前
iOS
ios底层原理-类的结构探索
接下来,深入探索类的结构 一、isa走位 在对象的初始化过程中,学习了对象isa的初始化,并且isa中的shiftcls指向了对象所对应的类。 通过以下案例我们可以再次验证这一点,即对象内存结构的前八
88
点赞
评论
jiahaoshen123
2年前
iOS
iOS 底层原理-OC对象的本质与isa
iOS 底层原理-OC对象的本质与isa,Clang是⼀个C语⾔、C++、Objective-C语⾔的轻量级编译器。源代码发布于BSD协议下。Clang将⽀持其普通lambda表达式、返回类型的简化处
76
点赞
评论
jiahaoshen123
2年前
iOS
iOS 底层原理 -内存对齐、calloc及isa初探
一、calloc 底层探索 1.1 探索之前先了解一下内存对齐三大原则 数据成员对齐原则: 结构( struct )(或联合( union ))的数据成员,第一个数据成员放在 offset 为 0 的
137
1
1
jiahaoshen123
2年前
iOS
iOS 底层原理-alloc流程
1.了解对象与指针 先看一张图: 这张图我们可知: imgv是指针,指针指向的是对象; [JPeople alloc]创建了一个对象; p1写在等号前面,等于把P1指向了那个对象的内存地址,所以p1是
118
1
2
温馨提示
当前操作失败,如有疑问,可点击申诉