曲のタイトルが重複しているプレイリストをテーブル ビューに読み込めるようにしたいと考えています。ただし、プレイリストが選択されると、テーブル ビューは自動的に重複を削除しますか? これを防ぎ、重複がテーブル ビューに表示されるようにするにはどうすればよいですか?
これは私が使用しているコードです:
- (void) updatePlayerQueueWithMediaCollection: (MPMediaItemCollection *) mediaItemCollection
{
// Configure the music player, but only if the user chose at least one song to play
if (mediaItemCollection)
{
if (_userMediaItemCollection == nil)
{
self.userMediaItemCollection = mediaItemCollection;
[[GVMusicPlayerController sharedInstance ] setQueueWithItemCollection: _userMediaItemCollection];
if (array == nil)
{
[self savePlaylist:[MPMediaItemCollection collectionWithItems: self.userMediaItemCollection.items]];
}
else
{
[array addObjectsFromArray:self.userMediaItemCollection.items];
[self savePlaylist:[MPMediaItemCollection collectionWithItems: array]];
}
}
else
{
NSMutableArray *currentSongsList= [[_userMediaItemCollection items] mutableCopy];
NSArray *nowSelectedSongsList = [mediaItemCollection items];
[currentSongsList addObjectsFromArray:nowSelectedSongsList];
self.userMediaItemCollection = [MPMediaItemCollection collectionWithItems:(NSArray *) currentSongsList];
// Apply the new media item collection as a playback queue for the music player.
[[GVMusicPlayerController sharedInstance ] setQueueWithItemCollection: _userMediaItemCollection];
[[GVMusicPlayerController sharedInstance] pause];
//save playlist
[array addObjectsFromArray:_userMediaItemCollection.items];
[self savePlaylist:[MPMediaItemCollection collectionWithItems: array]];
}
}
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//this method is called to fill out table with data
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
if (cell == nil)
{
cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:@"Cell"];
}
// populate the cell from array
anItem = nil;
anItem = [array objectAtIndex:indexPath.row];
// Configure the cell
cell.textLabel.text = [anItem valueForProperty:MPMediaItemPropertyTitle];
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
return cell;
}