通过NavigatioController和TableView将managedObjectContext传递给CustomViewController

时间:2013-11-06 19:59:10

标签: ios xcode core-data nsmanagedobjectcontext

我正在尝试将我的managedObjectContext从AppDelegate传递到某个视图控制器。

我在故事板中的设置如下所示:

storyboard setup

我希望能够从所选的自定义视图控制器访问managedObjectContext。

到目前为止,我已经在AppDelegate.m中了:

UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
CustomScrollViewController *controller = (CustomScrollViewController *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;

我从MasterDetail项目中获取的。

但是,这不起作用,可能是因为它没有考虑到它们之间的表视图控制器。如何更改代码以满足我的需求?我已经搜索过这个了,但是我太新了,无法根据我的需要定制其他答案。

顺便说一句,这是相应的github存储库:https://github.com/frederike/NZTravellerApp/tree/master/NZTravellerApp

1 个答案:

答案 0 :(得分:0)

创建一个属性以保存表视图控制器上的上下文,然后将其传递到CustomScrollViewController

@property (nonatomic) NSManagedObjectContext *context;

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    [segue.destinationViewController setContext:self.context];
}

CustomScrollViewController ...

self.context = [[UIApplication sharedApplication].delegate performSelector:@selector(managedObjectContext) withObject:nil];