MPMediaQuery未在单元格文本标签中显示名称

时间:2015-08-07 18:01:36

标签: ios objective-c uitableview cell

我有一个显示播放列表的播放列表查询,并且应该将它们打印到我的单元格中的文本标签中。但是,我看不到我的手机上显示任何文字。

我有一个显示播放列表名称的NSLog。救命?我的代码如下。

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  
{  
    static NSString *CellIdentifier = @"Cell";  
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];  


    MPMediaQuery *myPlaylistsQuery = [MPMediaQuery playlistsQuery];  
    NSArray *Playlists = [myPlaylistsQuery collections];  

    MPMediaItem *rowItem = [[Playlists objectAtIndex:indexPath.row] representativeItem];  

    cell.textLabel.text = [rowItem valueForProperty:MPMediaPlaylistPropertyName];  

    for (MPMediaPlaylist *playlist in Playlists) {  
        NSLog (@"%@", [playlist valueForProperty: MPMediaPlaylistPropertyName]);  
    }  
    return cell;  
}  

有关为什么我的手机没有显示名字的猜测?我的文字在白色细胞上是黑色的。 Alpha是1.0

1 个答案:

答案 0 :(得分:0)

您似乎需要从集合中分配播放列表对象,而不是MPMediaItem对象。要验证,请尝试打印此对象,创建单元格:

NSLog(@"%@",[playlistItem valueForProperty:MPMediaPlaylistPropertyName]);

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  
{  
static NSString *CellIdentifier = @"Cell";  
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];  


MPMediaQuery *myPlaylistsQuery = [MPMediaQuery playlistsQuery];  
NSArray *Playlists = [myPlaylistsQuery collections];  

MPMediaPlaylist *playlistItem = [Playlists objectAtIndex:indexPath.row];  

NSLog (@"%@", [playlistItem valueForProperty: MPMediaPlaylistPropertyName]);

cell.textLabel.text = [playlistItem valueForProperty:MPMediaPlaylistPropertyName];  

for (MPMediaPlaylist *playlist in Playlists) {  
    NSLog (@"%@", [playlist valueForProperty: MPMediaPlaylistPropertyName]);  
}  
return cell;  
}