【发布时间】:2015-02-17 13:24:45
【问题描述】:
我使用 Firebase 来存储数据,当我尝试使用它们的闭包函数检索数据时,总是会在闭包完成之前完成并返回。在我的 HeyUser 类中,我试图获取 Firebase 中 Friend 键中的值并将其存储在类属性中。然而,当试图实例化类的对象时,对象被实例化而没有得到 Friends 键的值。我想知道您是否能够延迟实例化或函数的完成,直到关闭完成。以下是我的 HeyUser 类的代码:
class HeyUser {
var Friends: [String] = [String]()
var username = PFUser.currentUser().username
var ref = Firebase()
var fRef = Firebase()
init() {
self.ref = Firebase(url: "https://hey-chat.firebaseio.com/").childByAppendingPath("users").childByAppendingPath(PFUser.currentUser().username)
self.fRef = self.ref.childByAppendingPath("friends")
self.getFriends()
}
func getFriends() {
self.fRef.observeSingleEventOfType(.Value, withBlock: { snapshot in
self.Friends = snapshot.value as [String]
print("TEST")
print(self.Friends.count)
})
}
}
【问题讨论】: