gpt4 book ai didi

iphone - 如何将 NSManagedObjectContext 传递给嵌入在 NavigationController 和 tabBarController 中的 ViewController

转载 作者:行者123 更新时间:2023-11-29 11:03:47 24 4
gpt4 key购买 nike

我在为我的 View Controller 之一 - LibraryTrackTimeViewController 设置 NSManagedObjectContext 时遇到问题。我附上截图(我希望这不违反此处的规则)以使其更清楚:

http://imgur.com/qgrH4T2

如您所见 - 它嵌入在 NavigationControllertabBarContoller 中。我正在为 appDelegate 中的其他 viewControllers 设置 NSManagedObjectContext:

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;

UINavigationController *navigationController = (UINavigationController *)[[tabBarController viewControllers] objectAtIndex:0];

TagLibraryViewController *tagLibraryViewController = (TagLibraryViewController *)[[navigationController viewControllers] objectAtIndex:0];
tagLibraryViewController.managedObjectContext = self.managedObjectContext;

navigationController = (UINavigationController *)[[tabBarController viewControllers] objectAtIndex:1];

LibrariesViewController *librariesViewController = (LibrariesViewController *)[[navigationController viewControllers] objectAtIndex:0];
librariesViewController.managedObjectContext = self.managedObjectContext;

MapViewController *mapViewController = (MapViewController *)[[tabBarController viewControllers] objectAtIndex:2];
mapViewController.managedObjectContext = self.managedObjectContext;

return YES;

其他 View Controller 很容易传递 managedObjectContext - 但我无法确定如何将它发送到我的 LibraryTrackTimeViewController 因为它是嵌入式的.. 你能给我任何帮助或建议——那太棒了!有没有更好的方法将 objectContexts 发送到我的 View Controller ?

最佳答案

如果您觉得它太复杂,您可以从应用委托(delegate)中公开上下文

// AppDelegate.h
@property (nonatomic, strong) NSManagedObjectContext *managedObjectContext;

然后直接从委托(delegate)中获取:

#include "AppDelegate.h"

AppDelegate *delegate = (AppDelegate*)
[[UIApplication sharedApplication] delegate];
self.managedObjectContext = delegate.managedObjectContext;

这不是建议 - 我还建议您将上下文传递给 Controller ​​。但它是一个完全有效的设计模式,因此如果您觉得它更容易使用,您可以使用它。

关于iphone - 如何将 NSManagedObjectContext 传递给嵌入在 NavigationController 和 tabBarController 中的 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14587992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com