gpt4 book ai didi

xcode - SwiftUI - 如何访问 "WindowScene"

转载 作者:行者123 更新时间:2023-12-05 09:32:22 28 4
gpt4 key购买 nike

在观看 WWDC 21 视频引用 StoreKit 2 时,他们引用了一些函数,其中他们让 value = WindowScene 如下:

func manageSubscriptions() async {
if let windowScene = self.view.window?.windowScene {
do {
try await AppStore.showManageSubscriptions(in: windowScene)
} catch {
//error
}
}
}

let 行出错并显示消息:Type of expression is ambiguous without more context

如果我尝试提供更多上下文,例如:

if let windowScene = (self.view.window?.windowScene)! as UIWindowScene {

有人告诉我:“MyStruct”类型的值没有成员“view”

我缺少什么,必须是简单的东西才能访问这个所需的 UI 元素?

谢谢

已添加:我想补充一点,我使用的是 SwiftUI 应用程序,它是使用 SceneDelegate 和 AppDelegate 创建的,而不是简单的结构:应用程序,结构类型。所以我猜我需要访问 SceneDelegate 中的某些内容才能获得正确的对象..

最佳答案

只是为任何感兴趣的人提供答案,感谢@aheze 找到它和@Matteo Pacini 找到解决方案,让这个特定方法在使用具有 AppDelegate/SceneDelegate 结构的 SwiftUI 应用程序时工作,这个将工作:

@MainActor
func manageSubscriptions() async {
if let windowScene = UIApplication.shared.connectedScenes.first {
do {
try await AppStore.showManageSubscriptions(in: windowScene as! UIWindowScene)
} catch {
//error
}
}
}

关于xcode - SwiftUI - 如何访问 "WindowScene",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68092818/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com