ensemble numéro de badge de l'application par les lignes de vue de la table avec les données de base

StackOverflow https://stackoverflow.com/questions/3526919

Question

Je développe une application qui utilise les données de base pour enregistrer et récupérer des données.

Maintenant, je voudrais ajouter un numéro de badge sur l'icône de l'application dans l'écran d'accueil mais j'ai quelques problèmes ...
J'ai essayé ce code:

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

Ce code ne fonctionne pas, mais je ne sais pas comment faire ...
Quel code je dois écrire et où? A l'intérieur AppDelegate ou RootViewController? Et dans quelle méthode?

Merci à tous pour l'aide!

Était-ce utile?

La solution

NSInteger section = [self.tableView numberOfSections];

Ce n'est pas un numéro de section valide; ils vont de 0 à NumberOfSections-1.

Autres conseils

NSInteger section = [[self tableView] numberOfSections];

Cela va revenir 1 ou plus. Pas une valeur à brancher dans [[[self fetchedResultsController] sections] objectAtIndex:section]. Vous devriez lui donnez une section réelle (zéro ou plus) et non le nombre total de sections.

En outre, vous pouvez mettre un point d'arrêt sur votre affectation de la variable sectionInfo et assurez-vous que vous ne recevez pas un retour nul. Vous pouvez également mettre un débogage après la sectionInfo pour vous assurer que vous obtenez quelque chose de sens.

S'il est nul ou retourner zéro, alors votre badge ne sera pas affiché.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top