问题标签 [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.
uiscrollview - 在添加新项目视图 SwiftUI 中显示选定的 ScrollView 项目
那是我的项目链接https://github.com/m3rtkoksal/TaskManager
这是我的任务列表视图
这是我的新任务视图
不幸的是,当我再次点击滚动视图中的一个项目时,我看到一个空的 NewTaskView。我应该看到带有 selectedTask 数据的 NewTaskView。
那是我的 NewTaskView
这就是我附加 selectedTask 并调用 NewTaskView() 的方式
当在 Scrollview 上选择项目时,我应该如何修改 NewTaskView 才能看到 selectedTask 数据?
我已经尝试如下,但是当我尝试添加新项目时出现索引超出范围错误。另外,必须有比使用 if else 更好的方法
swift - SwiftUI @EnvironmentObject 错误:可能缺少此视图的祖先——访问 init() 中的对象
以下代码产生运行时错误:@EnvironmentObject 错误:可能缺少此视图的祖先。环境中的 tState 是一个@ObservedObject。
XCode 12.0.1 iOS 14
ios - SwiftUI 环境对象未更新
我认为是这样的情况,指定为环境对象的类中的@Published 属性会自动更新到我将环境对象传递给的所有子视图,但是下面的代码没有更新,我做错了什么?
constructor - 在视图初始化程序中引用 EnvironmentObject 时出错
我正在尝试在 SwiftUI 视图初始化程序中引用环境对象来设置状态值,但出现错误'self' used before all stored properties are initialized
。有没有办法做到这一点,因为您需要引用 self 来访问环境对象?我觉得引用继承的值是你应该能够在视图的构造中做的事情。
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:
内容视图:
菜单视图:
内容体视图:
视图路由器:
swiftui - 在方法中获取 EnvironmentObject 属性
我需要从 View-Extension 中的方法访问 EnvironmentObject,因此我无法添加 @EnvironmentObject 属性。
我试着这样做
但这不起作用 - 是否有另一种/更好的方法可以从方法中获取它?
swiftui - 如何访问类中的全局环境对象?
我有一个需要更新全局环境对象的类。我可以整天在我的结构之间传递那个环境对象,但是我如何允许一个类对象访问同一个变量?
以下代码给出了错误:
致命错误:找不到全局类型的 ObservableObject。Global 的 View.environmentObject(_:) 可能缺少此视图的祖先。
我可以将全局对象传递给 myClass.updateMode,但那时它似乎不是很全局?我原以为一定有更好的方法。
swiftui - 将 EnvironmentObject 放入不在层次结构中的类中
我有一个用于从 URL 获取 json 数据的类。我希望能够根据存储在注入到我的应用程序根视图中的 EnvironmentObject 中的属性来更改 URL 的路径。显然,该类不被视为根视图的祖先。当我尝试在我的类中引用 EnvironmentObject 时出现此错误。
SwiftUI 错误线程 1:致命错误:找不到全局数据类型的 observableobject。globaldata 的 view.environmentobject(_:) 作为该视图的祖先可能会丢失。
如何根据存储在 EnvironmentObject 中的属性将稍微不同的路径传递给该类?我曾尝试将参数传递给类,但这通常会导致抱怨类尚未实例化。谢谢
list - 使用 EnvironmentObject 更新现有列表
我有一个现有列表,但我希望能够向其中添加新项目。现在,我正在使用@EnvironmentObject
,但是当我向数组中添加一个元素时,视图没有更新?我在互联网上看到了你使用的解决方案 objectWillChange.send()
,但作为 Swift 的初学者,我不知道如何操纵它来做我想做的事。
班级
列表
提前致谢。
swift - @EnvironmentObject 的 Swift 预览问题
@EnvironmentObject
在我的 Swift 项目中使用时,我无法获得更新的预览。在模拟器中它工作正常,但预览不是。它显示的错误如下:
但是,当我尝试添加它时,它会不断出现同样的问题。有人有一些有用的建议或解决方案吗?