首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的数组不存储从我的防火墙数据库中检索的值?

为什么我的数组不存储从我的防火墙数据库中检索的值?
EN

Stack Overflow用户
提问于 2017-05-05 10:55:40
回答 1查看 76关注 0票数 0

因此,我在类级别声明我的用户数组,这是非常好的,并且存储我在其中输入的任何值,除非我从我的firebase数据库中检索它.我一直在为这件事而挣扎,唯一的错误,我似乎可以联系到这是也许。

由于仿真器错误,NSUserDefaults返回到从NSUserDefaults加载访问令牌

我的数组一直告诉我因为某种奇怪的原因它是空的..。

我怎样才能解决这个问题?

var allUsers = [User]()

代码语言:javascript
复制
func retrieveUsers() {
    let ref = FIRDatabase.database().reference()
    ref.child("users").queryOrderedByKey().observeSingleEvent(of: .value, with: { snapshot in

        let users = snapshot.value as! [String : AnyObject]
        self.allUsers.removeAll()
        for (_, value) in users {

            if let uid = value["uid"] as? String {
                if uid != FIRAuth.auth()!.currentUser!.uid {
                    if let name = value["name"] as? String, let age = value["birthdate"] as? String {
                        let calculatedAge = self.calcAge(birthdate: age)

                        let userToShow = User(name: name,age: calculatedAge)
                        print(userToShow.Name)
                        self.allUsers.append(userToShow)

                    }

                    }
                }
            }
        })
    print(allUsers.count)
    ref.removeAllObservers()


}

提前谢谢!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-05 11:10:39

异步数据检索:-)您看到“userToShow.Name”打印出来了吗?在数据检索完成之前打印计数--尝试将其放入完成处理程序中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43803165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档