我有一个基于 Core Data 的应用程序,我决定尝试使用 Magical Record。(基本上 MR 似乎做了很多我写的助手类所做的事情)
但是,它基于模型创建了数据库,但是当我尝试使用新插入的对象保存上下文时,它似乎成功了,但在数据库中没有创建任何内容。我已经逐步确保新对象在即将保存的上下文中,我告诉它保存,没有创建错误,但没有数据。我认为我在这里缺少一些明显的东西。
- (void)saveContext:(NSManagedObjectContext*)context withMessage:(NSString*)messageString
{
NSError *error = nil;
NSString *message = messageString;
NSManagedObjectContext *managedObjectContext = nil;
if (!context) {
managedObjectContext = [NSManagedObjectContext defaultContext];
} else {
managedObjectContext = context;
}
if(!message) {
message = @"Data Saved";
}
if ([managedObjectContext hasChanges]) {
[managedObjectContext save:&error];
if (error) {
NSLog(@"Save Error: %@", [error localizedDescription]);
}
else {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Save Successful!"
message:message
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
}
}
有什么见解吗?正如我所提到的,我可以确认堆栈已设置(我在 App Delegate 的 applicationDidFinishLoading 方法中进行了设置,并命名了商店),并且相应的数据库存在于预期的位置,并带有适当的表。我可以确认托管对象上下文的插入对象中存在预期的新插入对象,并且保存没有导致错误。但是,保存后,数据不存在。(显然也不是在 managedObjectContext 中)
提前致谢。