Hallo,
ich möchte mit einer App für das iPhone in einer Tabelle neue Artikel anlegen und löschen.
Dabei habe ich 2 Probleme, die ich nicht in den Griff bekomme.
1. Wenn ich einen neuen Artikel anlege wird er nicht direkt in der ÜbersichtsTabelle angezeigt, sondern erst, nachdem ich entweder die Detailansicht aufgerufen habe und wieder zurück zur Übersicht wechsle oder wenn ich die App beende und neu starte. Mein Ziel ist es jedoch, direkt beim Klick auf den "neuenArtikel"-Button diesen dann umgehend in der Tabelle anzuzeigen.
2. Wenn ich einen Artikel lösche, stürzt die App ab. Nach einem Neustart der App ist der entsprechende Eintrag aber aus der Ansicht gelöscht. Ziel ist es wie bei Problem 1 ohne Absturz den gelöschten Eintrag umgehend nach Klick aus der View zu entfernen.
Auszug aus ArtikelÜbersichtController.m
Alles anzeigen
Ich bin Anfänger in der App-Programmierung, ich bitte also um Nachsicht.
Dieses Beispiel stammt aus meinem ersten TutorialBuch für SDK3 und ist 1zu1 übernommen und selbst, wenn ich die auf DVD mitgelieferten Dateien, die eigentlich funktionieren sollten, benutze, sind die selben Probleme da.
Ich benutze XCode 3.2.3.
Ich bitte um Hilfe...
ich möchte mit einer App für das iPhone in einer Tabelle neue Artikel anlegen und löschen.
Dabei habe ich 2 Probleme, die ich nicht in den Griff bekomme.
1. Wenn ich einen neuen Artikel anlege wird er nicht direkt in der ÜbersichtsTabelle angezeigt, sondern erst, nachdem ich entweder die Detailansicht aufgerufen habe und wieder zurück zur Übersicht wechsle oder wenn ich die App beende und neu starte. Mein Ziel ist es jedoch, direkt beim Klick auf den "neuenArtikel"-Button diesen dann umgehend in der Tabelle anzuzeigen.
2. Wenn ich einen Artikel lösche, stürzt die App ab. Nach einem Neustart der App ist der entsprechende Eintrag aber aus der Ansicht gelöscht. Ziel ist es wie bei Problem 1 ohne Absturz den gelöschten Eintrag umgehend nach Klick aus der View zu entfernen.
Auszug aus ArtikelÜbersichtController.m
Quellcode
- - (void)viewWillAppear:(BOOL)animated
- {
- [super viewWillAppear:animated];
- NSError *error;
- if(![self.fetchedResultsController performFetch:&error])
- {
- NSLog(@"Hier gab es einen Fehler");
- return;
- }
- [self.tableView reloadData];
- }
- - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
- {
- NSArray *sections = [fetchedResultsController sections];
- NSUInteger count = 0;
- if([sections count])
- {
- id <NSFetchedResultsSectionInfo> sectionInfo = [sections objectAtIndex:section];
- count = [sectionInfo numberOfObjects];
- }
- // Return the number of rows in the section.
- return count;
- }
- - (IBAction)neuerArtikel
- {
- // Erzeuge Artikel
- NSEntityDescription *artikelDescription = [[fetchedResultsController fetchRequest] entity];
- NSManagedObject *newArtikel = [NSEntityDescription
- insertNewObjectForEntityForName:[artikelDescription name]
- inManagedObjectContext:managedObjectContext];
- // Befülle Artikel mit Standardwerten
- [newArtikel setValue:NSLocalizedString(@"neuerArtikel",nil) forKey:@"titel"];
- [newArtikel setValue:[NSDate date] forKey:@"datum"];
- [newArtikel setValue:[[NSUserDefaults standardUserDefaults] stringForKey:@"autor"] forKey:@"autor"];
- // Speichere Artikel
- NSError *error;
- if(![managedObjectContext save:&error])
- {
- NSLog(@"Fehler beim Anlegen eines neuen Artikels");
- }
- // Table View aktualisieren
- [self.tableView reloadData];
- }
Ich bin Anfänger in der App-Programmierung, ich bitte also um Nachsicht.
Dieses Beispiel stammt aus meinem ersten TutorialBuch für SDK3 und ist 1zu1 übernommen und selbst, wenn ich die auf DVD mitgelieferten Dateien, die eigentlich funktionieren sollten, benutze, sind die selben Probleme da.
Ich benutze XCode 3.2.3.
Ich bitte um Hilfe...