【发布时间】:2013-11-07 16:56:17
【问题描述】:
首先,this is my basic setup。 我正在尝试将 NSManagedObjectContext (MOC) 从我的 AppDelegate 传递给选定的自定义 ViewController。
首先,在“AppDelegate.m”中,我这样做:
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
FirstTableViewController *tableVC = (FirstTableViewController *)navigationController.topViewController;
tableVC.managedObjectContext = self.managedObjectContext;
将 MOC 传递给位于 navigationController 和自定义 ViewController 之间的 tableViewController。
到目前为止,这不会导致任何错误。
但是,在 tableViewController“FirstTableViewController.m”中,我想使用 prepareforsegue 将 MOC 传递到自定义 ViewController:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"mapClicked"]) {
CustomScrollViewController *customSVC = [segue destinationViewController];
NSManagedObjectContext *context = self.managedObjectContext;
[customSVC setManagedObjectContext:context];
}
}
然后在自定义ViewController“CustomScrollViewController.m”中调用如下方法:
- (void)setManagedObjectContext:(NSManagedObjectContext *)context
{
self.managedObjectContext = context;
}
这就是卡住的地方。它似乎一遍又一遍地执行该方法,(see here)然后崩溃。
如果您需要查看更多代码,here is the github repository
感谢任何帮助!
【问题讨论】:
标签: ios objective-c segue nsmanagedobjectcontext