En mi modelo de datos core, tengo una entidad con un atributo NSNumber opcional.Almacenamiento de NSNumber opcional en Core Data
¿Cómo puedo probar para ver si el valor en ese atributo es válido o no?
Cuando pruebo nulo ... no funciona.
[self numberAttribute] == nil // always returns NO
Cuando pruebo para un valor cero int, eso no funciona.
[[self numberAttribute] intValue] == 0 // always returns no
Como cuestión de hecho, [[auto numberAttribute] intValue]] se vuelve algo que se parece sospechosamente a un puntero a una dirección de memoria.
¿Alguien tiene alguna idea de lo que estoy haciendo mal?
EDIT: Bien, el error estaba en una parte del código totalmente ajena. NSNumber y Core Data funcionan exactamente como uno esperaría. Dicho esto, voy a ir con el enfoque sugerido de hacer que el atributo no sea opcional y especificar 0 como el valor predeterminado.
Acabo de poner esta nota aquí por un tiempo para cualquiera que estuviera viendo esta pregunta, entonces la borro.
Todavía no tengo suficientes representantes para editar, pero su segundo ejemplo de código tiene corchetes desequilibrados (2 corchetes de apertura y 3 de cierre). – Mark
Muchas gracias. Fijo. – mmc
numberAttribute se especifica como un flotante en el modelo de datos? ¿Cómo se declara la propiedad para numberAttribute? ¿A qué se parecen o implementaciones? (Si no está utilizando accesadores @dinámicos) Sin esta información, su pregunta es imposible de responder con precisión. –