Swifui:MacOS App:在ContentView中获取核心数据OK,但是如何使用AppDelegate的结果?

卡利梅拉

对于MacOS应用,使用Xcode 11.6(11E708),SwiftUI,我在中生成了数据ContentView.swift但是我不能在AppDelegate.swift:中使用这些数据

编译成功,但print(contentView.order.item)(请参见下文)产生此消息:

线程1:致命错误:找不到类型为Order的ObservableObject。作为该视图的祖先,Order的View.environmentObject(_ :)可能会丢失。

我想念什么?

在ContentView.swift中:

import SwiftUI
public class Order: ObservableObject {
    @Published var item = "Hello"
}
...
@EnvironmentObject var order: Order
...

在AppDelegate.swift中:

func applicationDidFinishLaunching(_ aNotification: Notification) {
    ... 
    let contentView = ContentView()
    print(contentView.order.item)
    ...
pawello2222

Order如果将其用作环境,则需要注入环境@EnvironmentObject

let order = Order() // declare it once
let contentView = ContentView().environmentObject(order) // inject to the environment

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SwifUI MacOS 应用 AVPlayer 不支持视频 URL

在SwifUI中以编程方式关闭弹出框

SwifUI激活ForEach中的所有可用索引

SwifUI中的“身份”是什么意思,以及我们如何更改某些事物的“身份”

如何过滤核心数据获取请求结果

获取结果崩溃(使用persistentContainer)-核心数据目标C

如何从按对象创建日期排序的核心数据中获取结果?

SwifUI:如何在更新 CoreData 记录时手动刷新列表?

SwifUI中的生命周期:离开NavigationView层次结构的子视图时运行代码

在iPhone XR模拟器上横向使用SwifUI NavigationView有任何经验吗?

使用核心数据索引从核心数据中获取特定项目

如何过滤从核心数据中获取的数据?

如何获取核心数据中的特定记录

如何通过索引属性从核心数据中获取对象?

如何在小部件中获取核心数据

使用按钮获取核心数据中的索引

使用@EnvironmentKey 的核心数据结果

核心数据设置中 Appdelegate 约定中的 NsPerstentContainer 名称

使用核心数据获取存储的数据

如何在MacOS App中获取File Navigator视图

当在ObservableObject中重新加载@Published数组时,SwifUI ForEach列表会保留修改后的值

从核心数据中获取子总和

从核心数据中随机获取

使用 UUID 获取核心数据

如何使用核心数据中的多个值?

SwifUI:仅支持纵向视图?

如何在macOS App中使用Swift中的EventKit获取日历权限

SwiftUI核心数据,分组列表获取结果

核心数据获取结果减少了相关项目集