2011-01-03 13 views
15

voglio salvare & retrive ora corrente (se oggi) o la data della nota creata in Core DataCome salvare la data e l'ora in cui un oggetto di Core Data è creato

per favore mi guida su come posso fare Questo.

+0

Se hai seguito il tutorial di Core Data, ti mostra come. – BoltClock

+0

puoi darmi qualche link ..... ne ho un esempio. – user440485

+0

Google è tuo amico - https://developer.apple.com/library/ios/#documentation/DataManagement/Conceptual/iPhoneCoreData01/Introduction/Introduction.html – Abizern

risposta

10

Fai un soggetto chiamato Core Data Nota, dargli un attributo chiamato timeStamp Set per digitare Data.

Quando si crea una nuova nota assegnare è l'ora attuale:

[note setTimeStamp:[NSDate date]]; 

Persist la nota, questo è tutto.

+2

Il problema è che dovrai ricordarti di farlo ogni volta che crei una nuova nota. awakeFromInsert è un posto migliore per questo –

2

Hai un'entità Note con un attributo created?

impostare il valore predefinito per now()

Modifica

essere lontano che l'impostazione now() come predefinito significa che utilizzerà il tempo di costruzione, non è l'ora corrente. Se si desidera impostarlo correttamente, è necessario utilizzare una sottoclasse NSManagedObject. Data

@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 

noti che creationDate sopra è una struttura modellata di Core Data tipo attributo":

49

Si può avere la vostra abitudine NSManagedObject sottoclasse impostato un attributo, non appena è inserita in un contesto sovrascrivendo il metodo -awakeFromInsert ", quindi i suoi metodi di accesso sono generati automaticamente. Assicurati di impostare anche il nome della classe NSManagedObject personalizzato della tua entità.

+2

Preferisco questo approccio, soprattutto perché ho creato una classe astratta con questa proprietà. In questo modo tutti i miei modelli che usano un valore creato/modificato vengono automaticamente gestiti con un codice molto piccolo. –

+0

Questo è un approccio migliore. Inoltre è quello che Apple consiglia. – dbarros

+0

Se si è scelto di creare la sottoclasse NSManagedObject con valori primitivi, sarà necessario fare qualcosa come self.creationDate = [NSDAte timeIntervalSinceReferenceDate]; –