问题标签 [observableobject]
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.
ios - 使用 Objective-C 中的 Swift ObservableObject 时出现链接器错误
我正在尝试使用来自 Objective-c 的 Swift 类(就像我对许多其他类所做的那样),但出现以下错误。
未定义符号:OBJC_CLASS $__TtC9FileCloud18BrowserCoordinator
问题似乎是这个特定的类符合 Swift 协议ObservableObject
:
它正确显示在生成的MyProject-Swift.h
头文件中:
并且在从 Objective-C 中使用时可以正确构建:
但随后链接器失败。会不会是苹果的bug?
swift - SwiftUI 无法绑定类数组参数
在我的SwiftUI
项目中,我有一个按钮class
模型:
然后我有另一个class
名称ControlPanel
,它有一个 Button 数组作为参数。
UIViewControllerRepresentable
我必须在我用一个类构建的自定义集合视图中收听这个数组:
最后,我在内容视图中调用此集合视图,方法如下:
当我加载我的内容视图时,我确实得到了所有单元格,但是一旦我更改它们,视图就不会更新。我该如何解决这个问题?
swift - ObservableObject如何观察Binding值(不是值类型)的变化
代码:
发生了什么:
appStore.settings.username += "a"
无法触发视图的更新。但是对 TextField 的输入可以触发视图的更新。
问题:
我明白为什么appStore.settings.username += "a"
不能触发视图的更新。ObservableObject 只能观察 value 的变化,但是 account 是 refrence 类型的。所以当我们更改 account 的属性时,appStore 中的值没有变化。但是不知道为什么会出现第二种情况
swift - 如何捕捉通过 SwiftUI 中的函数更改的值更改?
我的视图不检查该值是否已更改。你能告诉我为什么或者你能帮助我吗?
您可以在下面看到重要的代码。
我的课
在 SceneDelegate 中,我在 sceneDidbecom 的重要代码将值触发为 true,然后如果函数完成,那么我希望触发返回为 false
当值发生变化时,我的视图不会更新自我。
swift - SwiftUI 符合 ObservableObject 的 Classes 应该是 Singleton 吗?
我在 SwiftUI 中被认为是新手,并且我有以下 ViewModel。但我不确定 MyViewModel 应该是单例的。这种用法对吗?什么是符合 ObservableObject 的最佳实践/用法?
view - SwiftUI - 从 ObservableObject 触发模态表?
我创建了一个随机数生成器,如果出现数字 3,它应该显示一个新工作表。
逻辑在一个单独的类中,但是当我在 ContentView 上使用它.sheet
时.fullScreenCover
它不起作用。
是否可以从 Xcode12 / iOS 14 SwiftUI 中的 ObservableObject 触发模式表?
下面的最小可复制示例:
swiftui - ObservedObject 未触发视图重绘
我有一个需要从 api 获取数据的视图。我对 SwiftUI 的理解是,通过使用 onAppear,将调用 api,更新 viewmodel 属性,并更改 StateObject,这将触发 View 重绘。
问题是没有进行重绘。
我可以看到一个 api 调用发生,并在使用解码数据后添加调试,我可以看到返回了很多数据。
我删除了很多代码以使逻辑更易于理解(如下)。
用@ObservedObject 替换@StateObject 并从父级传递到视图中也没有区别。
谢谢
视图模型:
swift - 有没有办法通过在没有所有 didChange 管道的情况下连接到订阅者管道来检测 Swift ObservableObject 中的变化?
我正在使用各种视图模型对象创建一个 SwiftUI 应用程序来支持视图。在某些视图上,用户可以在不保存更改的情况下离开,例如“取消”,如果底层视图模型有任何更改,我想提示确认。一些视图模型具有许多可以设置/更改的属性,因此我试图避免必须更改每个 @Published 属性以具有didChange
捕获更改的方法,因为这将是很多丑陋的管道,感觉没有必要。由于对象的订阅者可以检测到更改,我想知道是否有一种方法可以让我自己挂钩,以便我可以对对象的已发布更改做出反应,然后设置hasChanges
标志。
非常感谢任何帮助/建议。
binding - 绑定突然在iOS14中不起作用
在 iOS 14 之前,我的项目使用以下代码运行良好
这是我的部分服务课程
然后是视图模型
在 iOS 13 中,此代码全部 100% 运行,没有任何问题,现在在 iOS14 设备上运行时,我在控制台中点击文本字段时得到以下输出
最近有没有人遇到过这个问题?
swift - SwiftUI ObservableObject 创建非数组@Published
我试图用非数组 @Published 项创建一个 ObservableObject。但是,我仍然不知道该怎么做。我尝试使用 ? 这样做。但是当我在视图中显示它时Text((details.info?.name)!)
,它返回Thread 1: Swift runtime failure: force unwrapped a nil value
我不知道问题是什么以及如何解决。我创建可观察对象类的方法是否正确?
示例 JSON 数据