0

我想获取当前计数以更新到我的 Firebase。

我正在制作一个基本的计数计数器,我希望能够跨设备实时更新(ish)。

Firebase 身份验证已配置并链接到应用程序。

  class CurrentCount: ObservableObject {
  @Published var count = 0 }

  struct HomeScreen : View {

  @ObservedObject var UserCount = CurrentCount()

  var body: some View {
    ZStack {
      
      VStack {
        
        Button(action: {
          self.UserCount.count -= 1
        }) {
          Image(systemName: "minus")
            .foregroundColor(Color("Color"))
            .scaleEffect(2)
            .padding()
            .frame(minWidth:1000, maxWidth: 1000)
            .frame(minHeight:450, maxHeight: 450)
        }
        
          Button(action: {

          }) {
            Text("\(UserCount.count)")
              .foregroundColor(Color("Color"))
              .font(.system(size: 100))
              .padding()
              .onLongPressGesture {
                self.UserCount.count = 0
            }
          }
        }
      
        Button(action: {
          self.UserCount.count += 1
        }) {
          Image(systemName: "plus")
            .foregroundColor(Color("Color"))
            .scaleEffect(2)
            .padding()
            .frame(minWidth:1000, maxWidth: 1000)
            .frame(minHeight:450, maxHeight: 450)
        }
      }
    }
  }

视图的图像

4

1 回答 1

0

我认为您最好在您ObservableObject的按钮中创建一个辅助函数。在同一个对象中,您可以在 init 中设置实时更新的侦听器,以便在任何更改时收到通知(请注意,如果您的应用程序是唯一更改数据并且您没有监听的事件外部来源,您可以避免进行实时更新,而只需在 init 中获取第一个初始值):

class CurrentCount: ObservableObject {
    @Published var count = 0
    
    init() {
        //connect to Firebase here and listen for real-time updates: https://firebase.google.com/docs/database/ios/read-and-write#listen_for_value_events
    }
    
    func updateCount(newCount: Int) {
        count = newCount
        //send the value to Firebase here as well
        //https://firebase.google.com/docs/database/ios/read-and-write#basic_write
    }
}

要获取有关在 Firebase 中获取/设置信息的详细信息的更多信息,

于 2021-02-08T16:25:41.553 回答