问题标签 [environmentobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
206 浏览

uiscrollview - 在添加新项目视图 SwiftUI 中显示选定的 ScrollView 项目

那是我的项目链接https://github.com/m3rtkoksal/TaskManager

这是我的任务列表视图

在此处输入图像描述

这是我的新任务视图

在此处输入图像描述

不幸的是,当我再次点击滚动视图中的一个项目时,我看到一个空的 NewTaskView。我应该看到带有 selectedTask 数据的 NewTaskView。

那是我的 NewTaskView

这就是我附加 selectedTask 并调用 NewTaskView() 的方式

当在 Scrollview 上选择项目时,我应该如何修改 NewTaskView 才能看到 selectedTask 数据?

我已经尝试如下,但是当我尝试添加新项目时出现索引超出范围错误。另外,必须有比使用 if else 更好的方法

0 投票
3 回答
443 浏览

swift - SwiftUI @EnvironmentObject 错误:可能缺少此视图的祖先——访问 init() 中的对象

以下代码产生运行时错误:@EnvironmentObject 错误:可能缺少此视图的祖先。环境中的 tState 是一个@ObservedObject。

XCode 12.0.1 iOS 14

0 投票
1 回答
173 浏览

ios - SwiftUI 环境对象未更新

我认为是这样的情况,指定为环境对象的类中的@Published 属性会自动更新到我将环境对象传递给的所有子视图,但是下面的代码没有更新,我做错了什么?

0 投票
1 回答
72 浏览

constructor - 在视图初始化程序中引用 EnvironmentObject 时出错

我正在尝试在 SwiftUI 视图初始化程序中引用环境对象来设置状态值,但出现错误'self' used before all stored properties are initialized。有没有办法做到这一点,因为您需要引用 self 来访问环境对象?我觉得引用继承的值是你应该能够在视图的构造中做的事情。

0 投票
1 回答
1704 浏览

swiftui - SwiftUI 视图未更新到环境对象

当在 MenuView 中按下按钮时,我在让 ContentBodyView 正确更新时遇到问题。

当我打印出@Published currentPage 变量时,它会在按下按钮时发生变化,但似乎不会进入 ContentBodyView。我错过了什么吗?

我根据本教程编写了代码:https ://blckbirds.com/post/how-to-navigate-between-views-in-swiftui-by-using-an-environmentobject/

我尝试在 ContentBodyView 上执行 .onReceive 事件,但视图仍然没有改变。

应用程序.swift:

内容视图:

菜单视图:

内容体视图:

视图路由器:

0 投票
1 回答
60 浏览

swiftui - 在方法中获取 EnvironmentObject 属性

我需要从 View-Extension 中的方法访问 EnvironmentObject,因此我无法添加 @EnvironmentObject 属性。

我试着这样做

但这不起作用 - 是否有另一种/更好的方法可以从方法中获取它?

0 投票
1 回答
595 浏览

swiftui - 如何访问类中的全局环境对象?

我有一个需要更新全局环境对象的类。我可以整天在我的结构之间传递那个环境对象,但是我如何允许一个类对象访问同一个变量?

以下代码给出了错误:

致命错误:找不到全局类型的 ObservableObject。Global 的 View.environmentObject(_:) 可能缺少此视图的祖先。

我可以将全局对象传递给 myClass.updateMode,但那时它似乎不是很全局?我原以为一定有更好的方法。

0 投票
0 回答
63 浏览

swiftui - 将 EnvironmentObject 放入不在层次结构中的类中

我有一个用于从 URL 获取 json 数据的类。我希望能够根据存储在注入到我的应用程序根视图中的 EnvironmentObject 中的属性来更改 URL 的路径。显然,该类不被视为根视图的祖先。当我尝试在我的类中引用 EnvironmentObject 时出现此错误。

SwiftUI 错误线程 1:致命错误:找不到全局数据类型的 observableobject。globaldata 的 view.environmentobject(_:) 作为该视图的祖先可能会丢失。

如何根据存储在 EnvironmentObject 中的属性将稍微不同的路径传递给该类?我曾尝试将参数传递给类,但这通常会导致抱怨类尚未实例化。谢谢

0 投票
1 回答
118 浏览

list - 使用 EnvironmentObject 更新现有列表

我有一个现有列表,但我希望能够向其中添加新项目。现在,我正在使用@EnvironmentObject,但是当我向数组中添加一个元素时,视图没有更新?我在互联网上看到了你使用的解决方案 objectWillChange.send(),但作为 Swift 的初学者,我不知道如何操纵它来做我想做的事。

班级

列表

提前致谢。

0 投票
1 回答
530 浏览

swift - @EnvironmentObject 的 Swift 预览问题

@EnvironmentObject在我的 Swift 项目中使用时,我无法获得更新的预览。在模拟器中它工作正常,但预览不是。它显示的错误如下:

但是,当我尝试添加它时,它会不断出现同样的问题。有人有一些有用的建议或解决方案吗?