gpt4 book ai didi

swift - 无法分配值 : ‘downloadURL’ is a let constant

转载 作者:行者123 更新时间:2023-11-30 10:44:37 27 4
gpt4 key购买 nike

我在使用 downloadURL =metadata.downloadURL 时遇到问题。 let 必须在前面才能工作吗?当我这样做时,它说

definition conflicts with previous value and value of type ‘StorageMetaData’ has no member ‘downloadURL’

任何帮助将不胜感激,因为到目前为止我还没有找到任何帮助。

// You can also access to download URL after upload.
storageRef.downloadURL { (url, error) in
guard let downloadURL = url else {
// Uh-oh, an error occurred!
return
}

// Metadata contains file metadata such as size, content type, and download URL
downloadURL = metadata.downloadURL

最佳答案

编译器会告诉你出了什么问题。您使用 guard let 创建 let 常量 downloadURL。一旦该常量具有值,就无法更改。然后你尝试改变它的值。这是不允许的。

您的代码令人困惑,因为您首先为 downloadURL 分配了一个防护让,然后尝试为 downloadURL 分配一个完全不同的值。 (在第二种情况下,您使用 metadata.downloadURL

为什么为 downloadURL 分配一个值,然后立即忘记该值并用其他值替换它?

相反,您可以编写如下代码:

storageRef.downloadURL { (url, error) in
//Use the name `inputURL` to indicate this is the URL passed to the closure
guard let inputURL = url else {
// Uh-oh, an error occurred!
return
}

// Metadata contains file metadata such as size, content type, and download URL
let downloadURL = metadata.downloadURL
}
}

关于swift - 无法分配值 : ‘downloadURL’ is a let constant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56009151/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com