gpt4 book ai didi

swift - 根据登录的用户从 firebase 加载数据

转载 作者:行者123 更新时间:2023-11-30 13:29:22 25 4
gpt4 key购买 nike

如何将 userID 获取到 firebase url 中。我目前收到此错误...“使用未解析的标识符”。

我尝试将“let defaults: ...”和“let userID: ...”移到“let firebase = Firebase(url: ..)”上方,但随后出现此错误...“Instance member '默认值'不能在 TableViewController 类型上使用。

我想做的是加载与 userID 匹配的用户的用户配置文件。

相关代码如下。

let firebase = Firebase(url:"https://<myfirebase>.firebaseio.com/users/\(userID)")
var items = [NSDictionary]()

override func viewDidLoad() {
super.viewDidLoad()

let rightItemBtn = UIButton()
rightItemBtn.backgroundColor = UIColor.whiteColor()
rightItemBtn.frame = CGRectMake(40, 40, 60, 35)


let defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()
let userID = (defaults.objectForKey("userID") as? String)!

let labelText = userID

label.frame = CGRectMake(40, 40, 50, 35)

label.text = labelText
}

最佳答案

您似乎正在尝试加载当前经过身份验证的用户的一些用户信息(?)

给定结构

users
uid_0:
user_name: "Buzz Aldrin"

如果是这样,那就 super 简单了:

let fb = Firebase(url:"https://<myfirebase>.firebaseio.com")

let uid = fb.authData.uid
let usersRef = fb.childByAppendingPath("users")
let thisUserRef = usersRef.childByAppendingPath(uid)

thisUserRef.observeSingleEventOfType(.Value, withBlock: { snapshot in
let userName = snapshot.value.objectForKey("user_name") as! String
print(userName)
})

我不知道 NSUserDefaults 扮演什么角色,但如果用户通过 Firebase 身份验证,您应该从 authData 检索它。如果没有,并且您已将其存储在 NSUserDefaults 中,请从那里检索它而不是 authData。

关于swift - 根据登录的用户从 firebase 加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36748453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com