SwiftUI NavigationBarTitle不更新

时间:2019-12-11 23:00:30

标签: swiftui

我弄清楚了如果我们更新或增加金额,如何在SwiftUI中更改NavTitle。

class User: ObservableObject {
@Published var first = "xxxxx"
@Published var last = "yyyyyyyyyy"
@Published var totalAmount = 0
    @Published var totalpieces = 0
}
struct testTextfield: View {
    @ObservedObject var user = User()


func update() {
    user.first = "firstnametest"
    user.last = "lastname"
    user.totalAmount += 1
    user.totalpieces += 1

    print(user.totalAmount)
}

var body: some View {
    NavigationView {
        Form{
            VStack{
                Text("\(user.first) \(user.last)")
                TextField("first", text: $user.first)
                TextField("last", text: $user.last)

                Button(action: {
                    self.update()
                }) {
                    Text("push button")
                }
            }
        }

        .navigationBarTitle("\(user.totalpieces, specifier: "%.0f") pieces", displayMode: .inline)




      }

    }
}

但是打印语句正确并正确增加,但是顶部导航栏中的数量仍然为0。

缺少什么吗?

1 个答案:

答案 0 :(得分:1)

这有效:

.navigationBarTitle("\(self.user.totalpieces.description ) pieces", displayMode: .inline)

我猜这是在使用说明符并将其与'_FormatSpecifiable'一起使用时的错误