首页 > 解决方案 > 需要帮助从 firebase 打印数组值

问题描述

我正在开发一个消息传递应用程序,并希望在当前用户按下“阻止”按钮时将所选用户添加到当前用户的“阻止用户”列表中。现在,我只是在 firebase 中用一些虚拟值填充了数组,并试图将它们打印出来,但数组打印为空。

我的代码是:

    @IBAction func blockButtonPressed(_ sender: Any) {
    
    var currentBlockedIds = User.currentUser!.blockedUsers
    
    if currentBlockedIds.contains(user!.id) {
        
        // find the index of the currently blocked user in the blockedUsers array
        currentBlockedIds.remove(at: currentBlockedIds.firstIndex(of: user!.id)!)
        
    } else {
        
        // or add them to the blocked array
        currentBlockedIds.append(user!.id)
        print("Current User, \(User.currentUser!.id), blocked Ids list: \(User.currentUser!.blockedUsers)")
    }
    
    FirebaseUserListener.shared.updateUserInFirebase(user!)
}

结果是:

当前用户,IgLPCdFDcFYob6CupfD9doAEvf22,被阻止的 ID 列表:[]

那是当前用户的id。如果我这样做User.currentUser!.lastName.任何其他用户价值,它会得到并打印出来。

这是数据库的样子:

数据库映像

标签: iosswiftfirebase-realtime-database

解决方案


推荐阅读