2012-04-29 9 views
5

Tengo una consulta simple pero no sé cómo hacerlo.¿Cómo puedo cambiar una etiqueta con una fecha una vez que la fecha del sistema cambia en iOS?

Esto es lo que yo estoy tratando de lograr: 1) Tengo un UILabel con la fecha del día de hoy es decir, "29/04/12" 2) A la media noche yo quiero esa etiqueta para actualizar por sí mismo a "30/04/12 "sin necesidad de cambiar de vista o presionar nada.

Es el paso 2 que no sé cómo hacer. Tengo una idea de cómo se haría, como obtener potencialmente una notificación del sistema sobre el cambio de fecha (si esto es posible) o usar algún tipo de temporizador como disparador.

Cualquier ayuda sería muy apreciada, gracias de antemano.

+1

¿Cuál es el problema con 'NSData date'? – Legolas

+0

@Legolas Lo siento, no sé qué hacer con su pregunta, ¿qué puede hacer 'NSData date' en términos de actualización a medianoche? – msec

+0

Su aplicación no puede actualizarse en segundo plano por razones obvias con iOS multitarea. Lo más probable es que actualice su vista cuando la aplicación se esté ejecutando o cuando el usuario la vea. Podrías actualizar la etiqueta con 'NSDate date'. – Legolas

Respuesta

11

Si solo está interesado en recibir una notificación cuando llegue la medianoche (o un par de casos más), puede anular el método - (void)applicationSignificantTimeChange:(UIApplication *)application de UIApplicationDelegate para que las etiquetas se actualicen. Por supuesto, también querrá actualizar las etiquetas siempre que la aplicación vuelva a entrar en primer plano, ya que este método no se invocará si su aplicación está en segundo plano cuando cambia la fecha.

+3

+1, aquí hay un buen ejemplo de cómo hacer esto: http://stackoverflow.com/questions/4145985/help-changing-nstimer-for-textlabel-code-included/4146345#4146345 – lnafziger

+1

El documento dice: * * Si su aplicación está actualmente suspendida, este mensaje se pondrá en cola hasta que su aplicación regrese al primer plano, en ese punto se entregará. ** por lo que se llamará cuando la aplicación vuelva a entrar en primer plano – Jin

Cuestiones relacionadas