swift - 从 Firebase 数据库 IOS 检索信息时出现问题
问题描述
我正在尝试从我的数据库中检索数据,但我遇到了一些问题,这是我的数据库结构:
这是我的代码
var ref : DatabaseReference
var idString = [String]()
ref = Database.database().reference()
ref.child("idUsers").observe(.value){ (snapshot) in
let id = snapshot.value as? String
if let ids = id {
idString.append(ids)
print(ids)
}
}
但是没有数据进入我的阵列,我一直在尝试一些解决方案,但没有一个有效,请帮助!顺便说一句,这些是我的规则,默认情况下它们是公开的。
{
"rules": {
".read": true,
".write": true
}
}
解决方案
**For creating database structure**
`override func viewDidLoad() {
var ref: DatabaseReference!
ref = Database.database().reference()
Auth.auth().createUser(withEmail: email, password: password) { authResult, error in
Auth.auth().signIn(withEmail: email, password: password) { [weak self] user, error in
guard self != nil else { return }
ref.child("users").setValue(["test1": "abc",
"test2": "efg",
"test3": "hij"])
}
}
}`
**// For retrieving data from firebase**
ref.observe(DataEventType.value, with: { (snapshot) in
let postDict = snapshot.value as? [String : AnyObject] ?? [:]
for item in postDict {
print(item)
}
})
推荐阅读
- c++ - 如何为 C++ 类设置布尔值?
- sql-server - 将 100 多列中的所有空值替换为 0,而无需指定列名
- javascript - 在 Angular Universal SSR 中管理网站存储
- flutter - 键盘不断覆盖 Flutter 中的文本字段
- html -
在不使用html的情况下使用浮点/内联时如何换行? - identityserver4 - Finbuckle.MultiTenant 路由策略和 IdentityServer4 租户登录页面重定向
- sass - 将十六进制颜色代码转换为 rgba 并获取红色值
- python - 根据随机选择的列生成随机天数
- java - 当从 Activity 更改为 Fragment Android 时 TextView() null
- reactjs - 将 JSON 对象设置为材质 UI 上的 Const 选择组件 React Hooks