0
Now Playingアイテムのプロパティの数を取得しようとしています。 パーアップルのドキュメント:MPMediaItem(Swift 3)でenumerateValues(forProperties:using :)メソッドを使用する方法
いつでもアプリは、プロパティキーのセットに対して列挙、複数のプロパティにアクセスするには、個々のプロパティを取得するよりも効率的です。
だから私は彼らの方法を使用してみました:
func enumerateValues(forProperties properties: Set<String>,
using block: @escaping (String, Any, UnsafeMutablePointer<ObjCBool>) -> Void)
をしかし、私はちょうどそれが使用されるべきかを理解することはできません。
マイコード:
//MARK: Properties
var allProperties: [String: Any]
var albumTitle: String?
var albumArtist: String?
var title: String?
var artist: String?
var artwork: UIImage?
var genre: String?
var lyrics: String?
var releaseDate: Date?
var playbackDuration: TimeInterval?
var rating: Int?
var assetURL: URL?
var isExplicitItem: Bool?
var isCloudItem: Bool?
var hasProtectedAsset: Bool?
let propertiesSet: Set<String> = [MPMediaItemPropertyAlbumTitle,
MPMediaItemPropertyAlbumArtist,
MPMediaItemPropertyTitle,
MPMediaItemPropertyArtist,
MPMediaItemPropertyArtwork,
MPMediaItemPropertyGenre,
MPMediaItemPropertyLyrics,
MPMediaItemPropertyReleaseDate,
MPMediaItemPropertyPlaybackDuration,
MPMediaItemPropertyRating,
MPMediaItemPropertyAssetURL,
MPMediaItemPropertyIsExplicit,
MPMediaItemPropertyIsCloudItem,
MPMediaItemPropertyHasProtectedAsset]
func getAllMetadata() {
allProperties = nowPlaying?.enumerateValues(forProperties: propertiesSet,
using: //No idea what to put here
-> [String: Any])
}
どのようにそれを正しく使用するには?