在完成提交更改之外未设置displayName

时间:2016-08-09 11:22:30

标签: ios swift firebase

在Firebase中为用户设置displayName时,更改将在commitChangesWithCompletion块中设置,但不在外部。有谁知道发生了什么以及如何将displayName设置在外面?

代码在Swift中,看起来像这样:

    func updateDisplayName(user: FIRUser?) {
        let changeRequest = user!.profileChangeRequest()
        changeRequest.displayName = userName    // userName is Gandalf
        changeRequest.commitChangesWithCompletion(){ (error) in
            if let error = error {
                print(error.localizedDescription)
                return
            }
            print("userName inside commit: \(user?.displayName)")
        }
        print("userName outside commit: \(user?.displayName)")
    }

当我运行代码时,首先调用第二个打印。  1. userName outside commit:nil  2.提交内的userName:可选(" Gandalf")

当我稍后查看我的代码以查看是否存在延迟问题时,displayName保持为

0 个答案:

没有答案