0

使用 Core Data,我可以在内存中保存和获取对象;但是,当我重新启动我的应用程序(在模拟器中)并获取结果时,会获取对象但所有属性都为零。我已经在我的 appdelegate 中包含了所有协议方法,并且已经初始化了我的 managedObjectContext:

managedObjectContext = [self managedObjectContext];

在 - (BOOL)application:(UIApplication *)application 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"]);
}
4

1 回答 1

0

您确定您的 Entry 类使用 @dynamic 而不是 @synthetize 实现 title 属性吗?

于 2012-05-22T18:41:00.473 回答