我只是爲我的應用編寫了一個json解析器。它獲取以其uid命名的特定對象的信息。該應用播放在線流媒體音樂。所以:使用參數名稱創建一個var
我有一個結構:
struct Song : Decodable {
var uid: String
var album: Album
var artist: String
var artwork: Artwork
var ranking: Int
var title: String
}
現在我想有哪些獲取必要的參數一首歌曲的功能。這首歌應該以其用戶名命名。
let someArtwork = Artwork(large: "someLink", medium: "someLink", small: "someLink")
let someAlbumUID = Album(uid: "someAlbumUID", artwork: someArtwork, title: "myAlbum", tracks: [0 : "someSongUID"])
func fetchSongWith(someSongUID: String) -> Song {
// fetch information here
let someSongUID = Song(uid: "someSongUID", album: someAlbumUID, artist: String, artwork: Artwork, ranking: Int, title: String)
return someSongUID
}
// App has a song with a myUID fetched
fetchSongWith(someSongUID: myUID)
把它包起來: 我想創建一個常數,它被命名爲喜歡它的信息,它擁有歌曲的UID。
有誰知道我該如何解決這個問題?或者我應該如何命名常量?我使用的是斯威夫特3/3.1/4和Xcode 8/9
謝謝
編輯:
我要去嘗試來形容我的問題更好:
我目前正在編程一個應用程序,它從服務器傳輸音樂。我需要獲取關於用戶想要播放的曲目的信息。例如,如果用戶想播放歌曲「foo」,則該應用需要解析歌曲的元數據,例如專輯「欄」,藝術家「foobar」。我爲所謂的「Song」創建了一個包含所有這些參數的結構。 因此,當用戶點擊歌曲時,解析器讀取元數據並將其存儲到以歌曲的「歌曲」類型的UID命名的常量中。問題是我該如何聲明一個名稱爲歌曲UID的常量? 我創建了一個本質上提取元數據的函數。它有一個輸入參數「uid」。該函數使用該UID在存儲數據庫中搜索所請求的軌道。之後,它下載存儲在我的數據庫中以該歌曲的UID命名的子級中的元數據。所以,我可以像調用該函數:
fetchSongWith(uid: "foobar")
,並創建一個名爲型「宋」的「foobar的」新常數,它包含了歌曲的所有元數據。
難道這是不是可能或者是一個壞習慣?我應該如何存儲元數據?
我對此感到抱歉。
沒有得到你的問題了!提供更多清晰度 –
不要以爲有什麼辦法可以實現它。你爲什麼想這樣做? – Lawliet
對不起,我編輯了這個問題。不過謝謝你。 – wyte