【发布时间】:2017-04-23 15:24:54
【问题描述】:
因此,我遇到了一个问题,即我的 Firebase 应用在用户进行更新时不会更新用户值。更清楚地说:假设用户 1 有一张狗的照片,然后将其更改为猫。
一旦他们将其更改为猫,我在 Firebase 中的节点值将成功更新,但用户自己将无法看到应用中其他先前加载的区域(其他有狗图片的地方)的变化,直到他们注销然后重新登录。
出于这个原因,我想知道是否有任何方法可以执行后台应用程序刷新,这样应用程序中所有以前的狗值都将更改为猫值,而无需用户注销然后重新登录。请注意同样的问题不仅发生在我用户的个人资料图片上,而且发生在我设置的任何其他用户字段上。
这是我在 Firebase 中为我的用户更新节点值的方式:
let storageRef = FIRStorage.storage().reference()
_ = FIRStorageMetadata()
let filePath = "\(FIRAuth.auth()?.currentUser?.uid)/\("userPhoto")"
let profileImageData = UIImageJPEGRepresentation(self.profilePicture.image!, 1.0)
if let data = profileImageData {
storageRef.child(filePath).put(data, metadata: nil){(metaData,error) in
if let error = error {
print(error.localizedDescription)
return
} else {
let downloadURL = metaData!.downloadURL()!.absoluteString
let userPhotoUpdateRef = FIRDatabase.database().reference().child("users").child(self.currentUser).child("userPhoto")
userPhotoUpdateRef.setValue(downloadURL)
}
}
}
如果您有任何问题,请提出!任何帮助将不胜感激!
【问题讨论】:
标签: ios swift firebase firebase-storage