首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Swift底层原理
晓之卫
创建于2022-01-17
订阅专栏
通过源码、SIL与IR等对Swift底层原理的摸索与整理
等 2 人订阅
共14篇文章
创建于2022-01-17
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Swift-WorkItem
任务 可以使用BlockOperation代表一个任务,也可以使用DispatchWorkItem代表一个任务 取消任务 workItem 可以通过 cancel方法 被取消 任务成组 workIte
Swift-Moya与高阶函数
1、Moya的意义 我们日常都会和网络打交道不管是使用 AFN 还是 Alamofire ,这两者都封装的 URLSession,时间一长我们会发现我们的APP中到处都散落着和 AFN 、 Alamo
Swift的String、Array分析
1、String 1.1、String源码分析 首先我们来看一下空字符串的 查找源码我们需要从初始化入手,其中的 init 方法调用了内部的init 方法,该方法接收一个 _StringGuts 的对
Swift访问控制
访问控制限制其他源文件和模块对你的代码的访问。这个特性允许你隐藏代码的实现细节,并指定一个偏好的接口让其他代码可以访问和使用。 模块和源文件 Swift 的访问控制模型基于模块和源文件的概念。 模块是
Swift的Sequence 与 Collection
对于 Sequence 协议来说,表达的是既可以是一个有限的集合,也可以是一个无限的集合,而它只需要提供集合中的元素和如何访问这些元素的接口即可;对于 Collection 来说它是一个继承自 Seq
Swift泛型、类型擦除
1、泛型 泛型可以将类型参数化,提高代码抽象能力和复用性 1.1、泛型的存在意义 我们先来看一个非泛型的函数 这个函数计算了2个Int型参数的乘积,但是仅限于Int型,如果此时我们有需求计算Doubl
Swift协议
1、协议的基本语法 1.1、协议的定义 协议可以用来定义 方法、属性、下标的声明,协议可以被 枚举、结构体、类 遵守(多个协议之间用逗号隔开) class 本质上定义了一个对象是什么 protoco
Swift闭包
1、函数类型 函数由 形式参数 类型,返回类型 组成,在Swift中是 引用类型 1.1、函数结构 我们在源码的 Metadata.h 文件中找到 TargetFunctionTypeMetadata
Swift的Mirror反射
1、元类型 1.1、AnyObject 任意类的 instance、类的类型、仅类遵守的协议(结构体不能遵守) 在和 OC 交互的过程中,也经常通过 AnyObject 来表示某种类型的 instan
Swift的Enum&Optional&运算符重载
1、Enum 1.1、Enum特性 Swift 中的枚举比 OC 中更加灵活,不需给枚举中的每一个成员都提供值;并且枚举成员可以是字符串、字符、任意的整数值,或者是浮点类型。 .rawValue :
Swift指针
1、指针 1.1、指针的不安全性 1.1.1、野指针 我们创建对象需要在堆上分配内存空间.但内存空间的生命周期是有限的,也就是说,如果我们使⽤指针指向这块空间,后续内存空间的⽣命周期结束(引⽤计数为0
Swift属性
1、存储属性 存储属性是一个作为特定类和结构体实例一部分的常量或变量。存储属性要么是变量存储属性(由 var 关键字引入)要么是常量存储属性(由 let 关键字引入)。 var和let的区别 在汇编角
Swift类与结构体(下)
继Swift类与结构体(上)我们研究了Swift类和结构体的区别和类的生命周期后,这篇我们继续对Swift的方法进行研究 1、变异方法 Swift中Class和Struct都能定义方法,但稍有区别的是
Swift类与结构体(上)
1、类与结构体的区别 相同点: 定义成员属性、方法 定义下标以使用下标语法提供对其值的访问 定义初始化器 可以使用extension来拓展功能 遵循协议来提供某种功能 不同点: 类可以继承 类型转换使