[英]using Core Data with tab bar controller in storyboard
我从视图控制器以模态方式调用选项卡栏控制器,以实现用户可以配置的一系列其他控件和输入。 在情节提要中,这很容易做到,但是如何最好地将核心数据托管对象上下文传递给选项卡控制器托管的视图控制器? 最好的设计方法是什么?
presentingViewController
属性,当然可以做到这一点,但似乎并非最初意图。 来自托管数据上下文的Appart,不需要任何其他操作, dismissModalViewController
将dismissModalViewController
消息中的dismissModalViewController
返回到原始视图即可。 其他所有内容均通过核心数据进行管理。
有两个选择:
prepareForSegue
期间传递托管对象上下文(您必须访问选项卡视图控制器的viewControllers
数组以获取各个视图控制器) 到主视图控制器收到-prepareForSegue:
消息时,将已经创建了标签栏控制器及其管理的视图控制器。 您可以从segue本身获取标签栏控制器,然后从标签栏控制器获取视图控制器数组,如下所示:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
UITabBarController *tbc = [segue destinationViewController];
NSArray *controllers = [tbc viewControllers];
NSLog(@"View Controllers: %@", controllers);
}
现在,您将需要进行一些错误检查,以确保目标控制器确实是选项卡栏控制器,但是您可以将NSLog()
替换为代码以配置所需的控制器。 为了您的目的,这仅意味着向他们提供了应对其进行操作的托管对象上下文。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.