【问题标题】:viewWillAppear() or other equivalent in SwiftUISwiftUI 中的 viewWillAppear() 或其他等效项
【发布时间】:2021-05-17 18:16:28
【问题描述】:

我正在寻找 SwiftUI 中视图生命周期中的事件,它相当于 viewWillAppear()。 是的,我知道 SwiftUI 中有一个“.OnAppear”,但这就像 viewDidAppear。 是否有解决方法可以在加载视图之前获取特定的执行时间?

【问题讨论】:

  • 您可以通过在存储为@StateObjectObservableObjectinit 中做某事来伪造它。您能否详细说明您的用例或使用onAppear 试图避免的情况?
  • 需要从网络加载一些数据和图像。我会试试你的想法。谢谢
  • 但是为什么不使用onAppear呢?加载将花费非零的时间,并且任何网络负载的返回都是异步的,所以你不会阻塞任何东西......
  • 首先,它当然是异步的(A Combine 的 DataTaskPublisher)。其次,为什么我需要等待视图加载?我宁愿尽快开始 GET 调用。如果要获取大量数据怎么办?
  • 这是否回答了您的问题stackoverflow.com/a/59746380/12299030

标签: swiftui


【解决方案1】:

试试这个修饰符:

.onReceive(NotificationCenter.default.publisher(for: UIApplication.willEnterForegroundNotification)) { _ in
            // your code
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2013-01-30
    • 1970-01-01
    • 2010-10-31
    相关资源
    最近更新 更多