ios - SwiftUI:为什么 ScenePhase 在 .onChange() 中的行为不同?
问题描述
我最近在我的 SwiftUI 应用程序中发现了 Scene Phase 的一些环境值行为,我无法解释......
我的代码基本上看起来像这样:
@Environment(\.scenePhase) private var scenePhase
var body: some View {
NavigationView {
// Application code
}
.onChange(
of: scenePhase,
perform: { newScene in
setAppActivityStatus(newScene)
print(newScene)
print(scenePhase)
}
)
}
现在,奇怪的是,当在设备/模拟器中使用该应用程序并将其置于活动/非活动状态时,如果在控制台中发现奇怪的打印输出:
打开应用切换器,使应用变为非活动状态
第一次打印->不活动
第二次打印->活动
从应用切换器中选择应用,使应用变为活动状态
第一次打印->活动
第二次打印->不活动
有谁知道如何解释不同的结果?谢谢!
解决方案
推荐阅读
- javascript - 无法在 Sinon 中对 Firebase 功能进行单元测试
- reactjs - React 中的 props 和紧耦合组件如何处理?
- batch-file - 如何使用 ffmpeg 将 rmvb 转换为相同质量的 mp4?
- sql - 不使用任何函数或 where 子句的表的最后一行
- linux - 更新 .sql 文件时 Docker 不更新卷
- php - 如何动态传递多个参数获取请求以检查 fbtoken 是否有效
- arrays - 如何在同一个 Swift 循环中迭代三个或更多数组?
- c# - 在 VS 社区中编译 .NET Core 应用程序(不同的运行时)
- c - 返回字符串与c中函数中的字符串不同
- keras - Keras张量流:InvalidArgumentError:节点'IsVariableInitialized_2196'