【问题标题】:Firebase commitChangesWithCompletion on ProfileChangeRequest Not FiringProfileChangeRequest 上的 Firebase commitChangesWithCompletion 未触发
【发布时间】:2016-06-08 04:44:03
【问题描述】:

我从 Firebase 参考中获取确切的代码,将其放入方法中,然后执行完成处理程序(也不是函数)。有人知道为什么吗?

let user = FIRAuth.auth()?.currentUser
if let user = user {
    let changeRequest = user.profileChangeRequest()

    changeRequest.displayName = "Jane Q. User"
    changeRequest.photoURL =
    NSURL(string: "https://example.com/jane-q-user/profile.jpg")
      changeRequest.commitChangesWithCompletion { error in
    if let error = error {
      // An error happened.
    } else {
      // Profile updated.
    }
  }
}

【问题讨论】:

    标签: ios firebase


    【解决方案1】:

    它可能不起作用,因为您尝试在完成块完成之前打印用户名或显示它。您可以在适当的时候分派到完成块内的主线程以进行 segue。这就是发生在我身上的事情,所以只是我的猜测。

    【讨论】:

      【解决方案2】:

      您可能想提供更多上下文。你什么时候调用这个函数?这段代码放在什么类型的函数中?

      这个函数的位置很重要。确保无论您在哪里拥有这段代码,程序实际上都在单步执行该代码段。

      有时人们会意识到文档函数不起作用,因为它们从一开始就没有被调用过。我建议您多阅读几次Firebase's Documentation,确保您了解如何使用这些功能。

      【讨论】:

      • 感谢您的评论。不确定这是 xcode 异常还是竞争条件,但它刚刚开始工作。您是正确的,尽管函数放置对于确保在适当的时间执行正确的闭包非常重要。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-06
      • 2020-10-11
      • 2018-10-16
      • 2021-02-15
      • 2021-11-27
      • 2020-10-20
      • 2021-04-18
      相关资源
      最近更新 更多