アプリがバックグラウンドになると、次のメソッドを呼び出します。
- (void)saveArticlePosition {
self.article.position = self.position;
NSManagedObjectContext *managedObjectContext = [(AppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
NSError *error;
[managedObjectContext save:&error];
}
からの通知でapplicationDidEnterBackground
。ただし、次のアプリの起動時に、次のエラーが表示されます。
[ReadingViewController setManagedObjectContext:]: unrecognized selector sent to instance 0x844fe40
私の次の行から発生しましたAppDelegate.m
:
controller.managedObjectContext = self.managedObjectContext;
これは、この大きな部分の一部です:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
RootViewController *controller = (RootViewController *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
...
正確に何がうまくいかないのですか?私が考えることができるのは、 でCore Data に保存したときに、controller
そこにあるオブジェクトのタイプが であるということだけですが、どうすればそれを修正できますか?RootViewController
ReadingViewController