首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
iOS
KG丿夏沫
创建于2021-06-07
订阅专栏
本人针对iOS开发相关探索的文章集合
等 2 人订阅
共30篇文章
创建于2021-06-07
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
OC底层-dyld应用加载流程(下)
上篇文章OC底层-dyld应用加载流程(上)中我们探索到了_objc_init,然后我们看到了_dyld_objc_notify_register函数,这个函数有三个参数,有两个参数是直接调用分别是l
OC底层-dyld应用加载流程(上)
之前文章分析了消息转发,这篇文章探索下我们的APP启动后做了什么,APP启动是直接进入main函数吗?我们常说的在main函数之前启动runloop是发生在什么时候呢?今天就先去悄悄瞄一眼dyld。
OC底层-消息转发
上篇文章我们介绍了动态方法决议,了解了系统对于我们进行消息发送时查找IMP,在通过缓存查找以及方法列表查找后,如果没有找到IMP的话会进入动态方法决议流程,我们也分析了如果在动态方法决议过程中进行消息
OC底层-动态方法决议
上一篇文章介绍了慢速查找的流程,今天我们看下当寻找IMP找不到的时候,系统是如何进行处理的,经过了哪些操作呢? unrecognized selector sent to instance报错底层原理
OC底层-慢速查找
OC底层-objc_msgSend我们探索了cache_t的方法缓存插入。 OC底层-runtime我们大概看了下cache缓存的查找流程 方法的查找分为快速查找和慢速查找,今天我们先来探索下方法的慢
OC底层-objc_msgSend
前面OC底层-runtime中我们了解到了方法调用的本质就是消息发送,那么这篇我们探索objc_msgSend的底层原理,看看调用方法后系统的消息发送机制。 objc_msgSend 1、在objc源
OC底层-runtime
runtime 苹果官方说明: 翻译后: 在iOS开发中我们经常能够听到runtime,我们都知道这是运行时,但是为什么叫运行时,它做了什么呢?这个就要从苹果的运行时机制说起了,iOS是一门动态语言,
OC底层-cache_t分析
知识补充 数组:数组是用于储存多个相同类型数据的集合。主要有以下优缺点: 链表:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。主要有以下优缺点:
类的原理(下)
前面两篇文章类的原理(上)和类的原理(中)我们探索了类的属性、成员变量、类方法、对象方法存储位置,大概了解了类的一些原理,那么这篇文章我们去探索下,属性、成员变量、实例变量之间的关系?系统是如何给属性
类的原理(中)
上一篇类的原理(上)中我们探索了类的属性以及对象方法的存储位置,但是我们在探索过程中并没有找到成员变量和类方法的存储位置,那么这篇文章我们一起探索下成员变量和类方法的存储位置。 成员变量 1、我们通过
类的原理(上)
对于一个iOS开发者来说对象是最熟悉不过的,因为我们开发的时候时刻都是在操作各种对象,而且都知道对象是通过了类的初始化创建出来的,那么问题来了,我们都知道类是通过继承实现方法以及属性和协议的传递,那么
代理一对多的实现
如上图,经常会遇到这种情况,当触发某个操作或者监听到某种状态变化后,每个View都要做出相应的变化,这种情况我们就需要写分类或者通知等等方式去处理这种操作,而且如果界面出现遗漏很容易造成奔溃啥的,那么
OC底层-KVO探索
在iOS开发中,KVO的使用频率是非常高的,可能是间接使用也可能是直接使用,今天主要通过以下几点进行探索。 KVO初探 1、 首先通过简单的使用KVO进行分析苹果提供的KVO中的API每个参数所代表的
对象的本质
initIsa函数 通过alloc底层原理这篇文章我们可以发现,类cls和isa进行绑定是在initIsa函数中实现的,那么我们就看下initIsa函数的实现,代码如下: 然后继续进入initIsa(
结构体内存对齐
alloc方法调用前做了什么 开篇前先看看alloc方法调用前系统做了什么,解决上篇文章遗留的一个点,为什么源码流程和程序运行流程不一致的问题。 上篇文章介绍了从调用alloc开始到对象开辟出内存的一
深拷贝与浅拷贝
深拷贝与浅拷贝 一般开发中经常会遇到数组拷贝或者字典拷贝等,而且很多时候需要对象拷贝,但是从来没有注意过copy与mutableCopy具体对于不同类型的数据拷贝的效果,只知道copy是浅拷贝
逆向笔记(一)
汇编语言的发展过程 机器语言 汇编语言 高级语言 高级语言执行过程 从图解我们可以得到以下结论: 汇编语言的特点 总线 每一个CPU芯片都有许多管脚,这些管脚和总线相连,CPU通过总线跟外部器件进行交
逆向笔记(二)-状态寄存器
状态寄存器CPSR 在CPU内部的寄存器中有一种特殊的寄存器,这种寄存器在ARM中被称为状态寄存器,即CPSR寄存器。CPSR寄存器和其他寄存器不一样在于,其他寄存器是用来存储数据的,而CPSR寄存器
逆向笔记(三)-汇编指令
汇编指令 针对汇编来说,汇编指令是必须了解的,而且汇编中汇编指令比较多,但是每一个汇编指令对应的机器码是固定不变的,看下下面的汇编代码 之前介绍逆向的时候就说过,可以通过汇编代码反向推算高级语言,所以
iOS面试算法题收集(一)
提示:题目均来自于力扣(LeetCode) 一、给定一个整数数组和一个目标值,找出数组中和为目标值的两个数,你可以假设每个输入只对应一种答案,且同样的元素不能重复利用。 二、给定两个非空链表,表示两个
下一页