Pregunta

Estoy desarrollando una aplicación que utiliza la base de datos para guardar y recuperar datos.

Ahora me gustaría añadir un número de placa en el icono de la aplicación en la pantalla de inicio, pero tengo algunos problemas ...
Probé este código:

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

Este código no funciona, pero no sé cómo hacer esto ...
¿Qué código tengo que escribir y dónde? Dentro AppDelegate o RootViewController? Y en el que el método?

Gracias a todos por la ayuda!

¿Fue útil?

Solución

NSInteger section = [self.tableView numberOfSections];

Esto no es un número de sección válido; que van de 0 a numberOfSections-1.

Otros consejos

NSInteger section = [[self tableView] numberOfSections];

Esto va a volver 1 o más. No es un valor que se debe conectar en [[[self fetchedResultsController] sections] objectAtIndex:section]. Usted debe dar es una sección real (cero o más) y no el número total de secciones.

Además se puede poner un punto de interrupción en la asignación de la variable sectionInfo y asegúrese de que no está recibiendo un respaldo nula. También se puede poner una depuración después de la sectionInfo para asegurarse de que está recibiendo de vuelta significativa algo.

Si es nil o devolver cero, entonces su tarjeta de identificación no se mostrará.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top