从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
{
// ????
}
})
}
我已经尝试过:
Read Data from Firebase and Save Into an Array (Swift)
if let AchievementsUnlockedFirebase = snapshot.childSnapshot(forPath: "/AchievementsUnlocked").value as? Bool
{
print("snapshot exist")
achievementsUnlocked.append(AchievementsUnlockedFirebase)
print(AchievementsUnlockedFirebase)
print(achievementsUnlocked)
}
没有给我打印,改为?字符串为?布尔也有同样的结果。删除"为?字符串"给我一个输出,这些是0&1和#1。因此我可以用作? Int然后我需要将它转换为布尔值。我尝试使用for循环,但后来我得到错误无法将类型转换为序列。
如何在Firebase中将布尔数组转换为Swift中的布尔数组?