将托管对象上下文附加到嵌套的 UITableViewController

Posted

技术标签:

【中文标题】将托管对象上下文附加到嵌套的 UITableViewController【英文标题】:Attach Managed Object Context to nested UITableViewController 【发布时间】:2014-02-03 18:03:24 【问题描述】:

我正在尝试将我的 MOC 附加到使用 Xcode 5 Storyboards 创建的UITableViewController。嵌套是这样的:UITabBarController -> UINavigationController -> UITableView。我在AppDelegate 中实例化 MOC,我想将它传递给UITableView。有什么建议吗?

谢谢!

谢谢,CoreDataBooks 示例做了这样的事情:但他们的 Storyboard 直接来自 UINavigationController -> UITableView。

UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
RootViewController *rootViewController = (RootViewController *)[[navigationController viewControllers] objectAtIndex:0];
rootViewController.managedObjectContext = self.managedObjectContext;

我想我可以使用下面的方法#1,但是从 AppDelegate 中识别 UITabBarController 的正确方法是什么?我想我需要将其实例化为自己的类并将其也导入到委托中?

【问题讨论】:

【参考方案1】:

有很多方法可以将 MOC 从 appDelegate 传递到 yourViewController。你可以在my Question here看到关于这个话题的详细讨论

我想列出可能的方法:

    从 appDelegate 将 MOC 实例化并分配给您的 VC。

    使用以下代码从您的 VC 调用 appDelegate:

    myAppDelegate * del= [[UIApplication sharedApplication]delegate];

& 像这样获取上下文:

myContext = del.context;

您可以通过上述问题进行详细论证.. :)

【讨论】:

以上是关于将托管对象上下文附加到嵌套的 UITableViewController的主要内容,如果未能解决你的问题,请参考以下文章

iOS CoreData+MoGenerator:如何仅在使用嵌套上下文时初始化托管对象一次?

仅将托管对象上下文的新条目上传到 ios 中的服务器数据库

使用Core Data将文本从文本字段分配到托管对象上下文

临时托管对象未正确从子上下文合并到主上下文

将 GestureRecogniser 附加到多个图像视图

在核心数据中保存到托管对象上下文时的 SIGABRT