Ios 从Firebase检索布尔数组

Ios 从Firebase检索布尔数组,ios,arrays,swift,firebase,firebase-realtime-database,Ios,Arrays,Swift,Firebase,Firebase Realtime Database,从Firebase的快照中检索布尔数组会得到0和1。在我的项目中将布尔数组从Firebase存储到数组的最佳方式是什么 这是我的代码: func loadUpInformation() { print("loading data") let user = FIRAuth.auth()?.currentUser let userID = FIRAuth.auth()?.currentUser?.uid ref = FIRDat

从Firebase的快照中检索布尔数组会得到0和1。在我的项目中将布尔数组从Firebase存储到数组的最佳方式是什么

这是我的代码:

func loadUpInformation()
    {
        print("loading data")
        let user = FIRAuth.auth()?.currentUser
        let userID = FIRAuth.auth()?.currentUser?.uid
        ref = FIRDatabase.database().reference()
        ref.child("users").child(userID!).observeSingleEvent(of: .value, with: { (snapshot) in
            if !snapshot.exists() { return }
            if let achievementsUnlockedFirebase = snapshot.childSnapshot(forPath: "/AchievementsUnlocked").value
            {
            // ????
            }
        })

    }
我已经试过了:

没有给我一个指纹,变为?串到as?布尔也有同样的结果。删除“as?String”会给我一个输出,它们是0和1。所以我可以用做什么?Int,但我需要把它转换成布尔值。我用for-in循环进行了尝试,但随后出现了无法将类型转换为序列的错误

如何将Firebase中的布尔数组转换为Swift中的布尔数组

        if let AchievementsUnlockedFirebase = snapshot.childSnapshot(forPath: "/AchievementsUnlocked").value as? Bool
        {
            print("snapshot exist")
            achievementsUnlocked.append(AchievementsUnlockedFirebase)
            print(AchievementsUnlockedFirebase)
            print(achievementsUnlocked)
        }