MPMediaItemCollection Удалить выбранную очередь / коллекцию? - PullRequest
1 голос
/ 25 мая 2011

В настоящее время я смотрю на пример AddMusic от Apple и играю с ним перед тем, как начать переписывать его в свое приложение.

Я заметил, что он создает свой собственный небольшой список воспроизведения песен.,Я хочу использовать действие смахивания в табличном представлении, чтобы удалить песни, по которым пользователь щелкнул по ошибке.

Я реализовал действие смахивания, но не могу найти способ удалить эту конкретную строку?

Любая идея была бы отличной, ниже приведен код для ее добавления.Я попытался сделать наоборот без удачи.Если это невозможно, как мне это сделать?

Приветствия

MainViewController *mainViewController = (MainViewController *) self.delegate;
MPMediaItemCollection *currentQueue = mainViewController.userMediaItemCollection;
MPMediaItem *anItem = (MPMediaItem *)[currentQueue.items objectAtIndex: row];

1 Ответ

4 голосов
/ 18 ноября 2011

Коллекция MPMediaItemCollection является неизменной, т.е. Вы не можете изменить предметы. Вам нужно создать новый со всеми элементами, кроме того, который вы хотите удалить. Смотрите ниже:

NSArray* items = [currentQueue items];
NSMutableArray* array = [NSMutableArray arrayWithCapacity:[items count]];
[array addObjectsFromArray:items];
[array removeObjectAtIndex:row];
MPMediaItemCollection* newCollection = [MPMediaItemCollection collectionWithItems:array];

Будьте осторожны, чтобы не создать пустую коллекцию. Это не разрешено, и MPMediaItemCollection вызовет исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...