我正在开发使用核心数据的应用程序。在我的应用程序中,我希望每个用户都拥有相同的数据库。所以我希望所有的设备共享相同的核心数据对象。以编程方式将属性添加到核心数据
为了做到这一点“同步”我发现this answer介绍所讨论这件事情。在演示文稿中,建议我为Core Data中的每个对象添加诸如“creationDate”和“modificationDate”之类的属性。
因此,要做到这一点,我试图以这些属性中的核心数据添加到每个对象的子类NSManagedObject(MyManagedObject)。我还让每个NSManagedObject子类(由模型自动生成)子类MyManagedObject。
问题是我添加到NSManagedObject子类的属性不会保留在数据库中。因此,当我关闭并重新打开应用程序时,'creationDate'变为(null)。
下面是一些我的代码(头):
@interface MyManagedObject : NSManagedObject
@property (nonatomic, retain) NSDate * modificationDate;
@property (nonatomic, retain) NSDate * creationDate;
@end
而这里的.m文件:
@implementation MyManagedObject
@synthesize modificationDate, creationDate;
-(void)willSave {
[super willSave];
self.modificationDate = [NSDate date];
}
-(void)awakeFromInsert {
[super awakeFromInsert];
[self setCreationDate:[NSDate date]];
[self setModificationDate:[NSDate date]];
}
任何帮助,指示或读数将不胜感激。我一直在为此苦苦挣扎了一段时间。我需要比将这些属性添加到模型中的每个单一实体更好的方法。在此先感谢
PS:我打算在服务器的“真理数据库”(一个.sqlite文件)。同步将在服务器和iPhone之间进行。如在演示
这正是我需要的!非常感谢你! – Luke