【发布时间】:2015-12-22 16:12:06
【问题描述】:
我编写了以下函数,它读取我的 iTunes 目录中的媒体项目列表并返回音乐文件。我需要返回“歌曲标题”,但是当我运行它时,返回的项目格式未知。我很确定我需要通过属性过滤器运行它们或使用一些转换来正确获取实际名称。最后,我想以字符串数组的形式输出内容。在附加的屏幕截图中,我只运行了四次循环。谁能指出我缺少的转换?看起来输出是十六进制格式,但不清楚。
class func readMusicFiles() -> NSMutableArray {
//var songDecoded:[NSMutableArray]
let result = NSMutableArray()
let allSongsQuery:MPMediaQuery = MPMediaQuery.songsQuery();
let tempArray:NSArray = allSongsQuery.items!;
for item:AnyObject in tempArray {
if (item is MPMediaItem) {
let temp = item as! MPMediaItem;
if (temp.mediaType != MPMediaType.Music) {
continue;
}
result.addObject(item);
}
}
print(result)
return result
}
}
输出如下所示
【问题讨论】:
-
有什么问题?你请求了一个 MPMediaItems 数组,而这正是你得到的。
-
你说得对。我改正了
-
我遇到的问题是输出是十六进制格式或 0x1355e4d90 的任何格式
-
不,不是。它是 MPMediaItems。这正是你想要的。别担心,开心就好。
-
如何将它们转换为有意义的输出 Matt?我希望它们转换为可读的文本。当我得到像您这样的专家的帮助时,我一点也不担心。
标签: ios swift mpmediaitem mpmediaquery mpmediaitemcollection