使用Core Data,我可以在内存中保存和获取对象;但是,当我重新启动我的应用程序(在模拟器中)并获取结果时,将获取该对象,但所有属性都为零。我已经在我的appdelegate中包含了所有协议方法,并且已经初始化了我的managedObjectContext:
managedObjectContext = [self managedObjectContext];
in - (BOOL)应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
以下是我在日志中得到的内容......
正确: 获取结果日志(应用程序未重新启动) - >姓名:新入职!!!!
不正确: 获取结果日志(应用程序重新启动) - >名称:( null) - 但是,对象仍然存在于persistantStore
中-
//Save entry
Entry *entry = (Entry *)[NSEntityDescription insertNewObjectForEntityForName:@"Entries" inManagedObjectContext:managedObjectContext];
[entry setTitle:@"new entry!!!!"];
NSError *error;
if(![managedObjectContext save:&error]){
NSLog(@"SAVE ERROR!!!");
}
//Fetch entry
NSError *error;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Entries" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
for (NSManagedObject *info in fetchedObjects) {
NSLog(@"Name: %@", [info valueForKey:@"title"]);
}
答案 0 :(得分:0)
你确定你的Entry类使用@dynamic而不是@synthetize来实现title属性吗?