我使用的是核心数据。我有一个具有Date类型属性的实体。有没有办法可以将默认值设置为当前日期?(例如在属性的默认值中输入'CURRENTDATE‘或其他内容?)
谢谢
发布于 2010-09-22 16:41:31
您可以在模型中使用"now“,但Core Data会在编译时而不是运行时对其进行评估。您将获得存储在模型默认设置中的编译日期,这可能不是您想要的:
http://iphonedevelopment.blogspot.com/2009/07/core-data-default-dates-in-data-model.html
确保当前日期的默认属性值的最可靠方法是覆盖NSManagedObject子类中的-awakeFromInsert
,并在其中分配当前日期。
- (void) awakeFromInsert
{
[super awakeFromInsert];
self.date = [NSDate date];
// or [self setPrimitiveDate:[NSDate date]];
// to avoid triggering KVO notifications
}
注意:如果您正在使用嵌套的托管对象上下文(或UIManagedDocument),上面的内容将不会按预期工作。此建议仅适用于使用单个托管对象上下文的情况。
https://stackoverflow.com/questions/3769771
复制