Hallo zusammen,
nach etwas längerer Zeit beim programmieren meiner App stehe ich nun kurz vor dem Ende der Programmierung. Doch es gibt ein letztes Problem, welches ich einfach nicht gelöst bekommen und hoffe das hier mir jemand helfen könnte.
Ich programmiere zur Zeit einen kleinen Musikplayer und habe eine Playlist (UITableView) welche ich mit Daten aus einer MPMediaItemCollection füttere. Aus dieser Playlist lassen sich die Titel (rows) per Swipe löschen, dies klappt auch wunderbar außer halt das löschen der letzten row.
In meiner commitEditingStyle Methode mache ich folgendes:
Alles anzeigen
Wie also kann ich die letzte Row löschen? Man kann die Collection leider nur füllen wenn der Array mindestenz ein Titel enthällt. Da die Collection immer 1 Titel behalten wird da ich diese nicht überschreibe mit 0, bleibt immer 1 Eintrag in der Tabelle, welche gelöscht werden soll.
Wäre super wenn jemand helfen könnte!
Vielen Dank
Grüße
nach etwas längerer Zeit beim programmieren meiner App stehe ich nun kurz vor dem Ende der Programmierung. Doch es gibt ein letztes Problem, welches ich einfach nicht gelöst bekommen und hoffe das hier mir jemand helfen könnte.
Ich programmiere zur Zeit einen kleinen Musikplayer und habe eine Playlist (UITableView) welche ich mit Daten aus einer MPMediaItemCollection füttere. Aus dieser Playlist lassen sich die Titel (rows) per Swipe löschen, dies klappt auch wunderbar außer halt das löschen der letzten row.
In meiner commitEditingStyle Methode mache ich folgendes:
Quellcode
- if (editingStyle == UITableViewCellEditingStyleDelete) {
- LeikeMusicplayerMainViewController *mainViewController = (LeikeMusicplayerMainViewController*) self.delegate;
- int y = 0;
- [songArray removeAllObjects];
- for (int i = 0; i < [mainViewController.ausgewaelteListe.items count]; i++) {
- MPMediaItem* mediaItem = (MPMediaItem*)[mainViewController.ausgewaelteListe.items objectAtIndex:y];
- y++;
- [songArray addObject:mediaItem];
- }
- [songArray removeObjectAtIndex:indexPath.row];
- if (songArray.count <= 0) {
- he = 1;
- Wird aufgerufen wenn songArray keine Titel mehr enthält und somit auch nicht mehr die MPMediaItemCollection, welche für das füllen der Tabelle zuständig ist füllt.
- } else {
- Hier füge ich die neue Anzahl der Items im Array zu meiner Collection hinzu und aktualisiere die Tabelle
- mainViewController.ausgewaelteListe = [[MPMediaItemCollection alloc] initWithItems:songArray];
- he = 0;
- }
Wie also kann ich die letzte Row löschen? Man kann die Collection leider nur füllen wenn der Array mindestenz ein Titel enthällt. Da die Collection immer 1 Titel behalten wird da ich diese nicht überschreibe mit 0, bleibt immer 1 Eintrag in der Tabelle, welche gelöscht werden soll.
Wäre super wenn jemand helfen könnte!
Vielen Dank
Grüße