2011-01-03 14 views
15

Quiero salvar & retrive hora actual (si hoy) o la fecha de la nota creada en base de datosCómo ahorrar la fecha y hora cuando se crea un objeto de la base de datos

favor, me guía sobre cómo puedo hacer esta.

+0

Si siguió el tutorial Core Data, le muestra cómo hacerlo. – BoltClock

+0

me puede dar algún enlace ..... tengo un ejemplo de ello. – user440485

+0

Google es tu amigo - https://developer.apple.com/library/ios/#documentation/DataManagement/Conceptual/iPhoneCoreData01/Introduction/Introduction.html – Abizern

Respuesta

10

Hacer una entidad de Datos Básicos de llamada Nota, darle un atributo llamado timeStamp Conjunto que para escribir Fecha.

Al crear una nueva nota asignarle la hora actual:

[note setTimeStamp:[NSDate date]]; 

Persistir la nota, eso es todo.

+2

. El problema es que deberá recordar hacer esto cada vez que haga una nueva nota. awakeFromInsert es un mejor lugar para él –

2

Tiene una entidad Note con un atributo created?

establecer el valor predeterminado para now()

Editar

estar lejos que la fijación de now() como predeterminado significa que va a utilizar el tiempo de construcción, no es el momento actual. Si desea configurarlo correctamente, debe usar una subclase NSManagedObject. fecha

@interface Person : NSManagedObject 
@property (nonatomic, copy) NSDate *creationDate; // modeled property 
@end 

@implementation Person 
@dynamic creationDate; // modeled property 

- (void)awakeFromInsert 
{ 
    [super awakeFromInsert]; 

    self.creationDate = [NSDate date]; 
} 
@end 

Tenga en cuenta que creationDate anterior es una propiedad de modelado de datos básicos en tipo de atributo":

49

Usted puede tener su costumbre NSManagedObject subclase establece un atributo tan pronto como se inserta en un contexto reemplazando el -awakeFromInsert método ", por lo que sus métodos de acceso se generan automáticamente. Asegúrese de establecer apropiadamente el nombre de clase NSManagedObject personalizado de su entidad.

+2

Prefiero este enfoque, especialmente porque hice una clase abstracta con esta propiedad. De esta forma, todos mis modelos que usan un valor creado/modificado se manejan automáticamente con muy poco código. –

+0

Este es un mejor enfoque. Además, es el que recomienda Apple. – dbarros

+0

Si elige crear su subclase NSManagedObject con valores primitivos, entonces tendrá que hacer algo como self.creationDate = [NSDAte timeIntervalSinceReferenceDate]; –

Cuestiones relacionadas