
Swift
文章平均质量分 86
Adam.com
The power of now
展开
-
#Swift 为什么执行异步代码,要使用await
`await` 的存在确保了开发者在调用异步方法时必须显式处理它的异步性,防止误用。`await` 的另一个作用是避免阻塞线程。原创 2024-11-26 21:53:09 · 463 阅读 · 0 评论 -
#Swift Automatic Initializer Inheritance
如果子类没有定义任何指定初始化器,它会自动继承父类的所有指定初始化器。如果子类覆盖了父类的所有指定初始化器,则它会自动继承父类的所有便利初始化器。如果子类定义了自己的指定初始化器,自动继承会被阻止,需要手动实现相应的初始化逻辑。原创 2024-11-14 21:16:41 · 1060 阅读 · 0 评论 -
#Swift Two-Phase Initialiaztion and 4 Safety check
**Two-Phase Initialization(二阶段初始化)**是一种确保类对象在完全初始化之前不会被使用的机制。这个机制主要用于**类的初始化**,尤其是在继承体系中,以确保子类和父类的属性都正确地初始化。Two-Phase Initialization的设计避免了部分初始化的情况,确保对象总是处于一致的状态。原创 2024-11-05 09:41:56 · 621 阅读 · 0 评论 -
#Swift Property wrappers separation for code and action
Property wrappers 本质上是封装,实现对property 读写逻辑的拓展和复用原创 2024-10-26 20:32:37 · 605 阅读 · 0 评论 -
#Swift The difference between Parameter and Agrument
看文档时候总看到 **parameters** 和 **arguments** 这两个词。中文意思都是参数,总是弄混淆,这里专门写一下区别做记录。原创 2024-10-25 11:00:23 · 730 阅读 · 0 评论 -
#Swift 下标 Subscript - Access the elements of a collection
下标(Subscript)提供了一种简洁的语法来访问和修改类型的元素,尤其适用于集合类型。允许开发者为自己的类型添加访问逻辑和行为,可以是只读或读写的。下标支持 多参数、重载、以及 类型下标,使得它们非常灵活,可以在许多场景下替代字典或数组的索引访问。原创 2024-10-18 11:17:38 · 525 阅读 · 0 评论 -
#Swift 对比 Static 在Swift 和 OC中的用法
在 Objective-C 和 Swift 中,`static` 关键字都用于定义类型级别的成员,但它们的用法和行为在两个语言中有所不同。让我们来详细对比一下 Objective-C 和 Swift 中 `static` 的使用方式和特性。原创 2024-10-13 11:21:55 · 881 阅读 · 0 评论 -
#Swift 递归枚举 VS Struct 实现自引用 数据结构 (链表 二叉树)
Enumeration 和 Struct 是 value type 实现 自引用 (self retain) 的数据类型,可以有效避免引用计数管理的问题(Class 是 reference type),递归枚举 因为在自引用类型的使用上和处理上不需要考虑 Struct 实现的空节点 Optional 类型的处理,更readable一些。原创 2024-10-07 12:59:05 · 728 阅读 · 0 评论 -
#Swift :回调地狱 的解决 —— 通过 task/await 来替代 nested mutiple trailing closure 来进行 回调的解耦
Completion handlers 适合简单的异步操作,但对于更复杂的场景,使用 Swift 并发功能可以大大提高代码的可维护性和简洁度。提到的“死亡嵌套”通常指的是回调地狱(Callback Hell),这是在处理多层异步操作时常见的问题,特别是当每个异步操作的结果都依赖于前一个操作的完成时。这种模式在使用传统的回调方式(如多个完成处理器)进行异步编程时尤其明显。回调地狱不仅使得代码难以阅读和维护,还增加了调试的复杂性,因为错误处理和流程控制散布在多个不同层级的闭包中。原创 2024-10-03 12:19:27 · 824 阅读 · 0 评论