【发布时间】:2018-12-30 16:45:59
【问题描述】:
我想检查用户是否是管理员。如果用户是管理员,我想显示一个条形按钮。如果没有,应该隐藏栏按钮。
我在viewDidLoad中调用如下代码:
@IBOutlet weak var beitraegeMelden: UIBarButtonItem!
var admin = false
func setupBarButton() {
observeAdmin()
if admin == true {
self.beitraegeMelden.isEnabled = true
self.navigationItem.rightBarButtonItem = self.beitraegeMelden
} else {
self.beitraegeMelden.isEnabled = false
self.navigationItem.rightBarButtonItem = nil
}
}
func observeAdmin() {
guard let currentUserUid = UserApi.shared.CURRENT_USER_ID else { return }
let REF_ADMIN = Database.database().reference().child("users").child(currentUserUid).child("admin")
REF_ADMIN.observeSingleEvent(of: .value) { (admin) in
let adminRecht = admin.value as? Bool
if adminRecht == true {
self.admin = true
} else {
self.admin = false
}
}
}
这里是我实际登录用户的数据库结构:
users
currentUid
admin: true
admin 值永远不会为真。 提前感谢您的帮助!
【问题讨论】:
标签: swift firebase firebase-realtime-database