我正在開發使用核心數據的應用程序。在我的應用程序中,我希望每個用戶都擁有相同的數據庫。所以我希望所有的設備共享相同的核心數據對象。以編程方式將屬性添加到核心數據
爲了做到這一點「同步」我發現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