首页 > 解决方案 > 从 macOS 上的自定义事件启动基于 SwiftUI 应用程序的项目中的窗口

问题描述

在使用 SwiftUI App 生命周期的 SwiftUI macOS 应用程序中,我一直在努力理解如何启动一个新窗口,然后为其分配一些初始状态。

使用 Xcode 12.5 的新项目,我们得到:

import SwiftUI

@main
struct StackOverflowExampleApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

为了简单起见,假设我想每分钟启动一个新窗口并将窗口启动的时间发送到视图。为此,我们可以像这样使用 Timer:

Timer.scheduledTimer(
    withTimeInterval: 60,
    repeats: true,
    block: {_ in
        // do something here that launches a new window containing
        // ContentView and sends it the current time
    }
)

关于如何进行的任何想法?

标签: swiftmacosswiftui

解决方案


推荐阅读