小编xyz*_*eee的帖子

SwiftUI 视图模型更新

我有一个包含许多按钮的视图,如果用户点击按钮,视图模型需要使用增加的值更新当前按钮。

class ProductVM: ObservableObject {
    @Published var product : Product


    init(product: Product) {
        self.product = product
    }


    public func increaseAmount() {
        var myInt = Int(self.product.amount) ?? 0
        myInt += 1
        self.product.amount = String(myInt)

        print(myInt)
        print("...")
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是myInt每次都是 1 并且该值无法更新。

我如何更新该值并将其保存在当前模型中以便视图知道它增加了?

struct singleButtonView: View {
@ObservedObject var productVM : ProductVM




func updatePos(){
    self.productVM.increaseAmount()
  }
 }
Run Code Online (Sandbox Code Playgroud)

我称之为

singleButtonView(productVM: ProductVM(product: product))
Run Code Online (Sandbox Code Playgroud)

swiftui

4
推荐指数
1
解决办法
4529
查看次数

SwiftUI UIApplication.shared.isIdleTimerDisabled = true 仅在一个视图上

当只出现一个视图时如何关闭睡眠?

UIApplication.shared.isIdleTimerDisabled = true 阻止屏幕在每个视图上进入睡眠状态。

如何只是在 ContentView ?

struct ContentView: View {
  UIApplication.shared.isIdleTimerDisabled = true


}
Run Code Online (Sandbox Code Playgroud)

swift swiftui

1
推荐指数
1
解决办法
1062
查看次数

标签 统计

swiftui ×2

swift ×1