[英]Release Date of MPMediaItem returning Nil (Swift 4)
我正在嘗試獲取音樂播放器中歌曲的發行年份,但我得到的只是返回的零值。 我嘗試過用我能想到的所有方式編寫它,但它始終返回nil。 除了這似乎是一個已知的問題外,我對此幾乎沒有幫助。這是我發現的一種資源,它看起來可能會有所幫助: 在iPod庫中獲取專輯的年份? 但是我相信這是客觀的C。我的問題是這個。 有誰知道如何在Swift代碼中獲取MPMediaItems的發布日期? 或者知道如何將鏈接的文章翻譯為Swift語言,以供我嘗試。 謝謝一群!
func getYear() {
let mediaQuery = MPMediaQuery.songs()
for songs in mediaQuery.items! {
print(songs.title)
print(songs.releaseDate)
print(((songs.value(forProperty: MPMediaItemPropertyReleaseDate)!))
print(songs.getReleaseDate())
}
}
extension MPMediaItem {
@available(iOS 10.0, *)
func getReleaseDate() -> Date? {
return self.perform(#selector(getter: MPMediaItem.releaseDate))?.takeUnretainedValue() as! NSDate? as Date?
}
}
我遇到了同樣的問題,由於您鏈接的資源,我設法解決了它! 我將Objective-C代碼翻譯為Swift 4,即使在帶有Xcode 9的iOS 11上,它也可以像魅力一樣工作,這是代碼:
let yearNumber: NSNumber = item.value(forProperty: "year") as! NSNumber
if (yearNumber.isKind(of: NSNumber.self)) {
let year = yearNumber.intValue
if (year != 0) {
// do something with year
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.