【发布时间】:2020-07-07 00:24:18
【问题描述】:
目标:将数据上传到 Firebase 存储并返回公共下载链接的 url。
问题:返回链接的函数没有更新我的导致我认为链接不可用或功能以某种方式出错的数据结构。
代码:
uploadTask.observe(.success){ snapshot in
uploadData["comments"] = "0"
uploadData["likes"] = "0"
uploadData["name"] = "JGTech"
snapshot.metadata?.storageReference?.downloadURL(completion: { (url, err) in
if err != nil {
print(err!)
}else{
uploadData["image"] = url?.absoluteString
}
uploadData["image"] = url?.absoluteString
})
之后的数据结构:
uploadData = ["name": "JGTech", "cmets": "0", "likes": "0"] 没有图片键值对。
[2020 年 7 月 7 日]
我尝试了实现此功能的不同变体,所有结果都表明此功能未执行。可能是因为这个函数是异步的。在 downloadURL 行做了一个断点,这个函数被完全跳过了。
【问题讨论】:
-
请编辑问题以说明您如何观察到您的数据结构未更新。请记住,downloadURL 是异步的,不会立即完成。
-
什么是uploadData?
-
uploadData 是未填充图像键值对的数据结构
-
@DougStevenson 如何等到下载链接准备好?有没有可以使用的等待函数或 for 循环?
标签: ios swift firebase firebase-storage