我正在尝试实施斯坦福 CS193 课程中的狗仔队 2 作业,但遇到了问题。我保存数据库的一个调用是应用程序退出时(我大量借用 Mike Postel 的版本来检查我的代码):
- (void)applicationWillTerminate:(UIApplication *)application {
if (flickrContext != nil) {
if ([flickrContext hasChanges] == YES) {
NSError *error = nil;
BOOL isSaved = [flickrContext save:&error];
NSLog(@"isSaved? %@", (isSaved ? @"YES" :@"NO") );
// Replace this implementation with code to handle the error appropriately.
if(isSaved == NO){
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}
}
}
不幸的是,这似乎并没有起到作用。我偶尔会收到可能与此相关的 EXEC_BAD_ACCESS 调用,但数据库永远不会保存。我已经将保存插入到其他部分中,它在那里工作正常,只是在这个例程中没有。我没有在我的视图中发布任何托管对象,只是托管对象上下文(flickrContext,或者我在视图中调用它的任何内容)。
有任何想法吗?