私のアプリ用のjsonパーサをコーディングしています。それは、そのuidにちなんで命名された特定のオブジェクトの情報を取り出します。アプリはオンラインでストリーミングされた音楽を再生します。だから、私は構造体持っパラメータの名前でvarを作成する
:
struct Song : Decodable {
var uid: String
var album: Album
var artist: String
var artwork: Artwork
var ranking: Int
var title: String
}
は、今私は歌のために必要なパラメータをフェッチする機能を持っていると思います。曲はそのUIDにちなんで名付けられるべきです。
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のように命名された定数を作成したいです。
誰も私がこれを解決する方法を知っていますか?または定数の名前をどうすればいいですか?私はXcodeの8/9で
をスウィフト3/3.1/4を使用していEDITあなた
をありがとう:
私はより良い私の問題を説明しようとするつもりです:
私は現在、サーバーから音楽をストリーミングするアプリケーションをプログラミングしています。ユーザーが再生したいトラックに関する情報を取得する必要があります。例えば、ユーザが曲「foo」を再生したい場合、アプリケーションは、曲のメタデータ、例えばアルバム「bar」、アーティスト「foobar」を解析する必要がある。これらのすべてのパラメータを含む "Song"という名前の構造体を作成しました。 したがって、ユーザーがソングをクリックすると、パーサーはメタデータを取得し、それを "Song"タイプの曲のUIDの後に付けられた定数に保存します。質問は、曲のUIDという名前で定数を宣言するにはどうすればいいですか? メタデータを基本的に取得する関数を作成しました。それは入力パラメータ "uid"を持っています。この関数は、要求されたトラックのストレージデータベースを検索するためにそのUIDを使用します。その後、私のデータベースに曲のUIDの名前を付けた子に格納されているメタデータをダウンロードします。
fetchSongWith(uid: "foobar")
、それは曲のすべてのメタデータが含まれているタイプの「歌」の「foobarに」という名前の新しい定数を作成します。私はそのような関数を呼び出すことができるように。
これはどういうことか、それとも悪い習慣ですか?メタデータはどのように保存する必要がありますか?
ご迷惑をおかけして申し訳ありません。
を助け
願っています! –
これを達成する方法はないと考えてください。なぜあなたはこれをしたいのですか? – Lawliet
申し訳ありません、質問を編集しました。ありがとう、結構です。 – wyte