首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
HiMi
掘友等级
Coder
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
112
文章 112
沸点 0
赞
112
返回
|
搜索文章
最新
热门
9. 内存管理&强引用&弱引用&无主引用
一、内存管理 我们都知道iOS的内存管理是基于引用计数,那么在底层它是如何管理的呢? 1. 案例代码 之前在分析类的初始化流程中,我们知道Swift源码中对象的初始化方法中最后返回了HeapObjec
8. 指针
一、不安全的指针 为什么说指针是不安全的? 比如我们在创建一个对象的时候,需要在堆中分配内存空间,但是这个内存空间的生命周期是有限的,这就意味着如果我们使用指针指向这块内存空间,当该内存空间的生命周期
7. 属性
一、存储属性 存储属性是一个作为特定类和结构体实例一部分的常量或变量。存储属性要么是变量存储属性(由 var 关键字引入)要么是常量存储属性(由 let 关键字引入)。存储属性这里没有什么特别要强调的
6. 方法的调度
一、类的方法调度 我们先添加如下代码 注意:这里我们用真机(arm64)来调试 断点到汇编 ldr x8, [x0]:将寄存器 x0 的值放入寄存器x8中,这里x0其实是Teacher实例的首地址,x
5. 异变方法-mutating
一、异变方法 我们知道,不管是Class还是Struct都能够定义方法,那么它们有区别吗? 分别定义一个Class和Struct,并给它们添加相同的方法,代码如下: 编译时会发现Struct中的mod
效率写作组合Joplin+Typora+uPic+坚果云
前言: 开发这些年,试过很多种笔记软件,用的最久的还是有道云笔记,写了7年还是放弃了,优势就是分享很方便,但是缺点也很明显,markdown支持不友好,上传图片要收费。无奈最后选择别的方案了,Jopl
4. 类的数据结构
一、HeapObject 之前在分析类的初始化流程中,我们可以看到Swift源码中对象的初始化方法中最后返回了HeapObject对象。 我们查看HeapObject的定义 由此我们可以看到: Hea
3. 类的初始化
一、编译流程 iOS的开发语言不管是OC还是Swift最终都是通过LLVM进行编译 OC通过 clang 编译器编译成IR,然后再生成可执行文件.o(机器码) Swift 则是通过 Swift 编译器
2. 类与结构体
一、类与结构体初识 相同点: 定义存储值的属性 定义⽅法 定义下标以使⽤下标语法提供对其值的访问 定义初始化器 使⽤ extension 来拓展功能 遵循协议来提供某种功能 不同点: 类有继承的特性,
1. 内存结构
一、内存区域图 Stack(栈): 局部变量和函数运行过程中的上下文 Heap(堆): 存储所有对象 Global: 存储全局变量;常量;代码区 TEXT.text : 机器码 TEXT.cstrin
下一页
个人成就
文章被点赞
112
文章被阅读
38,273
掘力值
996
关注了
12
关注者
33
收藏集
0
关注标签
7
加入于
2021-12-28