从委托模式到协程:异步编程的转换与应用
1. 背景与问题提出
在开发应用时,我们希望使用 async/await 来处理异步操作,但却受限于使用委托模式的旧有 API。为了解决这个问题,我们需要对代码进行一些调整,将 EntryController 与 DelegatingVendor 分离,并在它们之间插入 DelegateWrapper 。
2. 代码调整步骤
2.1 切断关联
首先,我们要消除 EntryController 中与 DelegateSupport 包相关的所有代码。具体操作是,暂时不删除两个委托方法,仅移除对协议的遵循以及对 DelegatingVendor 的所有提及。调整后的代码如下:
import Foundation
import DelegateSupport
@MainActor
class EntryController: ObservableObject {
@Published private(set) var entry = blankEntry()
@Published private(set) var isUpdating = false
@Published private(set) var delta = "..."
let suffix = ".circle"
lazy private var
超级会员免费看
订阅专栏 解锁全文
3238

被折叠的 条评论
为什么被折叠?



