首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS底层原理
订阅
taoZen
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
iOS底层原理总结 - 探寻OC对象的本质
对小码哥底层班视频学习的总结与记录。面试题部分,通过对面试题的分析探索问题的本质内容。 探寻OC对象的本质,我们平时编写的Objective-C代码,底层实现其实都是C\C++代码。 OC的对象结构都是通过基础C\C++的结构体实现的。 我们通过命令行将OC的mian.m文件转…
iOS底层原理总结 - 探寻Class的本质
对小码哥底层班视频学习的总结与记录。面试题部分,通过对面试题的分析探索问题的本质内容。 我们知道不管是类对象还是元类对象,类型都是Class,class和mete-class的底层都是objc_class结构体的指针,内存中就是结构体,本章来探寻Class的本质。 Class对…
iOS底层原理总结 - 探寻Runtime本质(二)
通过上一章中对isa本质结构有了新的认识,今天来回顾Class的结构,重新认识Class内部结构。 首先来看一下Class的内部结构代码,对探寻Class的本质做简单回顾。 上述源码中,method_array_t、property_array_t、protocol_array…
iOS底层原理总结 - 探寻block的本质(二)
上一篇文章iOS底层原理总结 - 探寻block的本质(一)中已经介绍过block的底层本质实现以及了解了变量的捕获,本文继续探寻block的本质。 大括号执行完毕之后,person依然不会被释放。上一篇文章提到过,person为aotu变量,传入的block的变量同样为per…
iOS底层原理总结 - 探寻block的本质(一)
block本质上也是一个oc对象,他内部也有一个isa指针。block是封装了函数调用以及函数调用环境的OC对象。 上图中将c++中block的声明和定义分别与oc代码中相对应显示。将c++中block的声明和调用分别取出来查看其内部实现。 上述定义代码中,可以发现,block…
iOS底层原理总结 - RunLoop
一. RunLoop简介 运行循环,在程序运行过程中循环做一些事情,如果没有Runloop程序执行完毕就会立即退出,如果有Runloop程序会一直运行,并且时时刻刻在等待用户的输入操作。RunLoop可以在需要的时候自己跑起来运行,在没有操作的时候就停下来休息。充分节省CPU资…
iOS底层原理总结 - 探寻KVO本质
对小码哥底层班视频学习的总结与记录。面试题部分,通过对面试题的分析探索问题的本质内容。 首先需要了解KVO基本使用,KVO的全称 Key-Value Observing,俗称“键值监听”,可以用于监听某个对象属性值的改变。 上述代码中可以看出,在添加监听之后,age属性的值在发…
iOS底层原理总结 - 探寻Runtime本质(四)
首先来看一道面试题。 下列代码中Person继承自NSObject,Student继承自Person,写出下列代码输出内容。 上述代码中可以发现无论是self还是super调用class或superclass的结果都是相同的。 我们通过一段代码来看一下super底层实现,为Pe…
iOS底层原理总结 - 探寻Runtime本质(三)
本文我们探寻方法调用的本质,首先通过一段代码,将方法调用代码转为c++代码查看方法调用的本质是什么样的。 通过上述源码可以看出c++底层代码中方法调用其实都是转化为 objc_msgSend函数,OC的方法调用也叫消息机制,表示给方法调用者发送消息。 拿上述代码举例,上述代码中…
iOS底层原理总结 - 探寻Runtime本质(一)
在学习Runtime之前首先需要对isa的本质有一定的了解,这样之后学习Runtime会更便于理解。 回顾OC对象的本质,每个OC对象都含有一个isa指针,__arm64__之前,isa仅仅是一个指针,保存着对象或类对象内存地址,在__arm64__架构之后,apple对isa…