3

MPMediaQueryiOSで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>

それが何で、プレイリスト名を文字列に変換する方法がわかりません。メソッドでテストするとNSLog、プレイリストの数は正しいです。

しかし、上記のメッセージのみが表示され、プレイリスト名は表示されません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 に答える