Domanda

Sto sviluppando un'applicazione che utilizza Core Data per salvare e recuperare i dati.

Ora vorrei aggiungere un numero distintivo sull'icona dell'applicazione nella schermata iniziale, ma ho qualche problema ...
Ho provato questo codice:

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

Questo codice non funzionano, ma non so come fare ...
Quale codice devo scrivere e dove? All'interno AppDelegate o RootViewController? E in quale metodo?

Grazie a tutti per l'aiuto!

È stato utile?

Soluzione

NSInteger section = [self.tableView numberOfSections];

Questo non è un numero di sezione valida; vanno da 0 a numberOfSections-1.

Altri suggerimenti

NSInteger section = [[self tableView] numberOfSections];

Questo sta per tornare indietro 1 o più. Non è un valore da collegare in [[[self fetchedResultsController] sections] objectAtIndex:section]. Si dovrebbe essere dandogli una sezione reale (zero o più) non il numero totale di sezioni.

In aggiunta si può mettere un punto di interruzione sulla vostra assegnazione della variabile sectionInfo e assicurarsi che non si ottiene un back nullo. Si può anche mettere un debug dopo la sectionInfo per assicurarsi che si stanno ottenendo qualcosa indietro significativo.

Se è pari a zero o di ritorno pari a zero allora il badge non verrà visualizzato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top