我只是为我的应用编写了一个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