此代码无法访问Firebase数据库中的照片。我收到的错误是“无法分配'无效'类型的值?键入“字符串!””
self.fileURL = metadata?.storageReference?.downloadURL(completion: error as! (URL?, Error?) -> Void)
let changeRequestPhoto = user?.user.createProfileChangeRequest()
changeRequestPhoto?.photoURL = NSURL(string: self.fileURL)! as URL
changeRequestPhoto?.commitChanges(completion: {(error) in
if let error = error {
print (error.localizedDescription)
return
}
else {
print ("Sweet!")
}
})
答案 0 :(得分:2)
该错误表明from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait as wait
driver.get("https://www.realestate.com.kh/buy/?listing_type=sale&categories=Condo&order_by=relevance&is_certified=1&private_seller=1#page-10")
wait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(driver.find_element_by_tag_name("iframe")))
driver.find_element_by_id("leadpages-close-button").click()
没有返回值。它使用完成处理程序从异步任务返回数据
我不熟悉Firebase,但API的语法似乎很
downloadURL
答案 1 :(得分:1)
在第一行中,我假设self.fileURL
是您所引用的String
,但是您尝试为其分配metadata?.storageReference?.downloadURL
的输出,该输出返回{{1 }}。
您需要从完成区中获取Void
,如下所示。请注意,此示例直接取自Firebase's documentation
url
答案 2 :(得分:1)
您需要为第一行添加适当的完成处理
starsRef.downloadURL { url, error in
if let error = error {
// Handle any errors
} else {
// Get the download URL for 'images/stars.jpg'
}
}