Ios 在现有导航控制器中添加选项卡栏控制器,并传递现有运行对象经过深思熟虑的屏幕

Ios 在现有导航控制器中添加选项卡栏控制器,并传递现有运行对象经过深思熟虑的屏幕,ios,objective-c,iphone,ipad,segue,Ios,Objective C,Iphone,Ipad,Segue,我搜索了很多论坛,但没有找到任何合适的解决方案。 我有一个工作项目,它是使用UINavigationController构建的。现在我想用UITabBarController打破它的某些部分。问题是我有一个活动对象,它在prepareForSegue方法的帮助下在整个屏幕上传递。 如何集成新的uitabar并在任何屏幕中传递此活动对象 如果你看到图片,红色部分对我来说很好。我在table view控制器中有对象列表,当我选择任何一个对象时,我会在另一个屏幕上显示与之相关的详细信息。绿色区域是我嵌

我搜索了很多论坛,但没有找到任何合适的解决方案。 我有一个工作项目,它是使用
UINavigationController
构建的。现在我想用
UITabBarController
打破它的某些部分。问题是我有一个活动对象,它在
prepareForSegue
方法的帮助下在整个屏幕上传递。 如何集成新的
uitabar
并在任何屏幕中传递此活动对象

如果你看到图片,红色部分对我来说很好。我在table view控制器中有对象列表,当我选择任何一个对象时,我会在另一个屏幕上显示与之相关的详细信息。绿色区域是我嵌入在导航控制器上的选项卡栏,我想将所选对象从添加播放器列表发送到第二个选项卡栏访客屏幕

我不明白你的问题。所以,我只是解释我们如何添加 导航控制器上的UITabBarController。请更新问题

AppDelegate.h

#import "MyTabBarController.h"
现在,在
AppDelegate.m

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
        self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
//Use your tab bar controller name instead of MyTabBarController
        UITabBarController *tabController = [[MyTabBarController alloc] init];
        UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:tabController];
        self.window.rootViewController = nav;
        self.window.backgroundColor = [UIColor lightGrayColor]; // choose color
        [self.window makeKeyAndVisible];
        return YES;

}

在AppDelegate中创建对activeObject的引用。然后让每个视图控制器引用此activeObject

在AppDelegate.swift中

let activeObject = ActiveObject() //Note : Assuming you set up a class for your object 
然后,需要将此对象发送到堆栈下的视图控制器

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
     let tabBarController = window!.rootViewController as! UITabBarController    //Find the tab bar controller
                        if let tabBarViewControllers = tabBarController.viewControllers {
                            let navigationController = tabBarViewControllers[0] as! UINavigationController //Access the navigation controller of the first view controller
                            let myViewController = navigationController.viewControllers[0] as! MyViewController
                            MyViewController.activeObject = activeObject
                        }
对所有需要引用对象的选项卡执行此操作。
记住,在类声明之后,为选项卡视图控制器(在我的示例代码中称为MyViewController)提供对activeObject的引用

var activeObject:ActiveObject!

我需要遵循的步骤。我尝试了这种方法,我能够获得表视图控件,但我不太熟悉它的工作过程。我还通过嵌入导航控件添加了选项卡栏。你能添加一些屏幕截图/代码,以便我了解你的问题吗?我已经更新了问题。如果不清楚,请告诉我,您想将数据从添加玩家列表传递到Guesture屏幕???