Estoy trabajando en iOS 4.3 & iOS 5 con recuento automático de referencias. Declaro un objeto NSDate en mi interfaz:NSDate convirtiéndose en NSNumber MYSTERY
NSDate *fingerprintsDate;
Más tarde, puse que NSDate - utilizando el depurador y entrar a través de él tiene el valor que cabe esperar:
fingerprintsDate = [NSDate date];
Por último, trato de llegar el momento de la fecha:
if (fingerprintsDate == nil || [fingerprintsDate timeIntervalSinceNow] > 6)
Y ahí es donde se estrella con el selector no reconocido: "2012-01-18 23: 07: 46.662 Netapporter [473: 707] - [NSCFNumber timeIntervalSinceNow]: selector no reconocido enviado a ejemplo 0x194490"
De acuerdo con el depurador, querida NSDate lee: "fingerprintsDate = (NSCFNumber *) 0x194490 139" - cuando imprimo descripción se lee: "value = {139,0000000000, type = kCFNumberFloat32Type}"
No estoy haciendo nada más con las huellas dactilares en otro lugar del código, pero de alguna manera se está convirtiendo en un NSNumer ... ¿Alguna idea de cómo detenerlo?
Debe haber algún otro código "intermedio" que lo esté haciendo (es decir, escribir sobre su fecha). ¿Podrías publicar un código más? – dasblinkenlight
¿Por qué verificar si la fecha es nula o superior a 6? Compruébelo con esto para mí: if ([[myNum className] isEqualToString: @ "NSCFNumber"]) {NSLog: (@ "es el número)} – CodaFi
No hay problema con el código que se muestra aquí, pero después de leer el error informe podría ser que está tratando de utilizar el valor de retorno del método "timeIntervalSinceNow" en el lugar equivocado (parámetro), en realidad "- (NSTimeInterval) timeIntervalSinceNow" devolver el valor flotante – kulss