Подтвердить что ты не робот

Iphone Core Data: дата Значение по умолчанию в качестве текущей даты

Im использует основные данные. У меня есть объект с атрибутом типа Date. Есть ли способ установить значения по умолчанию в качестве текущей даты? (Как вводить "CURRENTDATE" или что-то по умолчанию для атрибута?)

Спасибо

4b9b3361

Ответ 1

Вы можете использовать "сейчас" в модели, но Core Data оценивает это во время компиляции, а не во время выполнения. Вы получите дату компиляции, хранящуюся в ваших стандартах по умолчанию, что, вероятно, не то, что вы хотите:

http://iphonedevelopment.blogspot.com/2009/07/core-data-default-dates-in-data-model.html

Самый надежный способ гарантировать значение свойства по умолчанию для текущей даты - переопределить -awakeFromInsert в подклассе NSManagedObject и назначить там текущую дату.

- (void) awakeFromInsert 
{
   [super awakeFromInsert];
   self.date = [NSDate date];
   // or [self setPrimitiveDate:[NSDate date]]; 
   // to avoid triggering KVO notifications

}

Примечание. Если вы используете вложенные контексты управляемых объектов (или UIManagedDocument), вышеуказанное не будет работать должным образом. Этот совет применяется только при использовании контекстов с одним управляемым объектом.