estoy recibiendo un EXC_BAD_ACCESS (SIGBUS) en esta línea en mi proyecto iPhone (variable = nil!):es si (variable) lo mismo que si en Objective-C
if (timeoutTimer) [timeoutTimer invalidate];
Lo que me tiene perplejo es que no entiendo cómo esa línea podría colapsar, ya que la declaración if está destinada a verificar nulo. ¿Estoy entendiendo mal la forma en que funciona Objective-C, o los números de línea en las declaraciones de bloqueo alguna vez tienen la línea incorrecta en ellos?
tiene perfecto sentido, gracias. Me di cuenta de que no conservaba mi temporizador, que es algo que debería hacer. – rustyshelf
Normalmente no es necesario retener un temporizador. Si crea un temporizador con initWithFireDate ..., no se libera automáticamente. Y una vez que se agrega un temporizador a un runloop (ya sea mediante addTimer o uno de los métodos ScheduTimer ...), el runloop lo retiene hasta que termina con él. – Chuck
Lo creé con NSTimer scheduledTimerWithTimeInterval, que supongo que se lanzó automáticamente. ¿Se considera initWithFireDate mejor? – rustyshelf