SwiftUI 更新类子变量
Posted
技术标签:
【中文标题】SwiftUI 更新类子变量【英文标题】:SwiftUI updating class sub variables 【发布时间】:2021-03-01 05:07:22 【问题描述】:我想要一种使用单个状态变量来更新 UI 状态的简单方法。 假设我有一个类 Position 实例变量 x 和 y。 想象一下,我有一个看起来像这样的 UI 视图......
@State var position: Position
var body: some View
VStack
Text("x: \(position.x)")
Text("y: \(position.y)")
我想维护一个 Position 的状态变量,它可以更新 x 和 y,如上所示。但是,您可能知道,如果 UI 视图上的 x 和 y 值在此位置变量内发生更改,则此代码不会更新它们。
有没有人知道每次 x 和 y 更改时更新此视图的方法,而不必为 x 和 y 设置单独的状态变量,或者这是唯一的方法吗?
【问题讨论】:
【参考方案1】:有没有人知道每次 x 和 y 变化时更新此视图的方法,而不必为 x 和 y 设置单独的状态变量,或者这是唯一的方法吗?
Position
应该是 struct
才能有你需要的行为,比如
struct Position
var x: CGFloat
var y: CGFloat
在这种情况下,只要x/y
中的任何一个更改了单个@State var position
,就会更新视图。
【讨论】:
以上是关于SwiftUI 更新类子变量的主要内容,如果未能解决你的问题,请参考以下文章