Frage

Ich entwickle eine Anwendung, die für Core Data verwendet speichern und Abrufen von Daten.

Nun würde Ich mag eine Badge-Nummer auf dem App-Symbol im Home-Bildschirm hinzufügen, aber ich habe einige Probleme ...
Ich habe versucht, diesen Code ein:

NSInteger section = [self.tableView numberOfSections];
id <NSFetchedResultsSectionInfo> sectionInfo = [[self.fetchedResultsController sections] objectAtIndex:section];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:[sectionInfo numberOfObjects];

Dieser Code funktioniert nicht, aber ich weiß nicht, wie dies zu tun ...
Was Code muss ich schreiben und wo? Innerhalb AppDelegate oder RootViewController? Und in welchem ??Verfahren?

Vielen Dank an Alle für die Hilfe!

War es hilfreich?

Lösung

NSInteger section = [self.tableView numberOfSections];

Das ist keine gültige Abschnittsnummer; sie gehen von 0 bis numberOfSections-1.

Andere Tipps

NSInteger section = [[self tableView] numberOfSections];

Das wird wieder 1 oder mehr zurückzukehren. Kein Wert zu Einstecken in [[[self fetchedResultsController] sections] objectAtIndex:section]. Sie sollten es einen tatsächlichen Abschnitt (null oder mehr) nicht die Gesamtzahl der Abschnitte geben.

Zusätzlich können Sie einen Haltepunkt auf Ihrer Zuordnung des sectionInfo Variable setzen und sicherstellen, dass Sie nicht eine Null zurück zu bekommen. Sie können auch eine Debug setzen, nachdem die sectionInfo, um sicherzustellen, Sie werden immer etwas Sinnvolles zurück.

Wenn es gleich Null ist oder die Rückkehr Null dann Abzeichen werden nicht angezeigt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top