简介
在 SwiftUI 中,onAppear修饰符通常用于在视图进入视图层次结构并出现时执行操作。但是,有时您可能希望操作仅在视图第一次出现时运行,而不是每次重新出现/重新渲染时都运行。我们将探索如何viewDidLoad()在 SwiftUI 中复制。
本文将探讨实现此功能的两种方法。
推荐文章
-
《SwiftUI 特色组件之超酷图标组件 最全的图标emoji json(教程含源码))》 权重1,emoji类、特色组件类
方法 1:使用惰性属性
利用惰性属性仅计算一次之后即可重复使用的优势,它们存储一个值,但初始化会推迟到第一次访问该属性时。
例子:
视图模型
class ContentViewModel: ContentViewModelProtocol {
private lazy var _start: Void = {
Task { [weak self] in
await self?.performTaskOnlyOnce()
}
}()
func start() {
_ = _start
}
private func performTaskOnlyOnce(
文章评论