簡體   English   中英

在swift中為URL類型變量賦值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM