3

我正在尝试MPMediaQuery在 iOS 中从 iPod 库中检索播放列表。我想在UITableView.

这是我的代码viewDidLoad

MPMediaQuery *myQuery = [[MPMediaQuery alloc] init];
[myQuery setGroupingType: MPMediaGroupingPlaylist];
arrayOfPlaylist = [myQuery collections];

UITableViewCell方法

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    for(int i=0;i<self.arrayOfPlaylist.count;i++)
    {
        dic = [self.arrayOfPlaylist objectAtIndex:0];
        cell.textLabel.font = [UIFont systemFontOfSize:10];
        cell.textLabel.text = [NSString stringWithFormat:@"%@",[self.arrayOfPlaylist objectAtIndex:indexPath.row]];
    }

    return cell;

在我写完上面的代码后,UITableView我只收到以下消息:

<MPConcreteMediaPlaylist : 0x1e51afd0>

我不知道那是什么以及如何将播放列表名称转换为字符串。当我用NSLogmethod 测试时,我的播放列表计数是正确的。

但我只收到上述消息,没有播放列表名称UITableView

我只是iOS的初学者。

请帮我在 中显示播放列表UITableView

4

2 回答 2

9

可以像这样探索播放列表:

MPMediaQuery *myQuery = [[MPMediaQuery alloc] init];

arrayOfPlaylist = [myQuery collections];

for (MPMediaPlaylist *playlist in arrayOfPlaylist) {
    NSLog (@"Playlist :%@", [playlist valueForProperty: MPMediaPlaylistPropertyName]);
    NSArray *songs = [playlist items];
    for (MPMediaItem *song in songs) {
        NSString *strSongTitle =
            [song valueForProperty: MPMediaItemPropertyTitle];
        NSLog (@"Title : %@", strSongTitle);
    }
}
于 2012-12-27T10:35:49.723 回答
3

我得到了我自己问题的答案。

就这个。

MPMediaQuery *query = [MPMediaQuery playlistsQuery]; 
NSArray *playlists = [query collections];

for(int i = 0; i < [playlists count]; i++) 
{
NSLog(@"Playlist : %@", [[playlists objectAtIndex:i] valueForProperty: MPMediaPlaylistPropertyName]);
}
于 2012-12-27T11:19:45.473 回答