[英]Assign value to URL type variable in swift
我創建了一個名為url 的變量,它的類型是 URL。 之后我想為這個變量賦值,但是當我調用 url 時,它返回 nil。 為什么? 如何為這個 URL 賦值?
var url: URL!
url = URL(string: "https://www.apple.com")
我創建了 Song 類,這個類有一個 url 變量。
class Song {
var url: URL?
var metadata: MetaData?
var colors: UIImageColors?
var item: AVPlayerItem?
init?(withAVPlayerItem item: AVPlayerItem) {
guard let urlAsset = item.asset as? AVURLAsset else { return nil }
metadata = MetaData(withAVPlayerItem: item)
url = urlAsset.url
print(url)
}
在 init 函數中,我為對象分配了一個 url 並且它被正確打印,但是當我從調試屏幕查看這個對象時,url 為 nil 但元數據是正確的。 如何將 url 正確分配給該對象?
您可以像這樣將字符串值分配給您的 URL 變量
url = URL(string: "your string")
您可以像這樣將 URL 值分配給您的 url 變量
let newURL = URL(string: "www.google.com")
url = newURL
也使用安全解包而不是強制解包,這會導致崩潰
// Declaring variable as optional
var url: URL?
// safe unwrap your variable these ways
//1:
guard let myURL = url else { return }
//2:
if let myURL = url {
// your code here
}
else {
// url is nil
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.