我有一个显示播放列表的播放列表查询,并且应该将它们打印到我的单元格中的文本标签中。但是,我看不到我的手机上显示任何文字。
我有一个显示播放列表名称的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
答案 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;
}