Контроллер Tab Bar в iPhone

Я добавил две вкладки в свое приложение, чтобы загрузить два контроллера представления, используя эти вкладки

Tab1: HomeTab2: избранное

поэтому я написал ниже код для достижения этой цели

В приложении делегат

AppDelegate.h

@class ViewController,FavViewController;

@interface AppDelegate : UIResponder 
@property (strong, nonatomic) UIWindow *window;

@property (strong, nonatomic) ViewController *viewController;
@property (strong, nonatomic) FavViewController *favViewController;

@property (strong, nonatomic) UITabBarController *tabBarController;

@end

AppDelegate.m

       @implementation AppDelegate

        @synthesize window = _window;
        @synthesize viewController;
        @synthesize favViewController;
        @synthesize tabBarController;

        - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

        baseTabBarController = [[UITabBarController alloc]init];

        baseTabBarController.delegate=self;

        viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
        UINavigationController *homeView = [[UINavigationController alloc]initWithRootViewController:viewController];  

        favViewController = [[FavViewController alloc] initWithNibName:@"FavViewController" bundle:nil];
        favViewController.title = @"My Favourite";
        UINavigationController *favouriteView = [[UINavigationController alloc] initWithRootViewController:favViewController];  


        NSArray *controllers = [NSArray arrayWithObjects:homeView,favouriteView, nil];  
        baseTabBarController.viewControllers = controllers; 

        [self.window addSubview:baseTabBarController.view]; 
        [self.window makeKeyAndVisible];    

        return YES;
    }

    - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)selectedViewController
{

    if (tabBarController.selectedIndex == 0) {




   }else if (tabBarController.selectedIndex == 1) {

    [(FavViewController *)[(UINavigationController*)selectedViewController topViewController] getData];

    }else if (tabBarController.selectedIndex == 2) {

        NSLog(@"2");
    }


}

и вот экран результатов я получаю

Так где у меня проблемы в этом ..

Если я переключаюсь на следующий экран, моя первая вкладка неЗагрузите первый экран (домашний экран), вместо этого просто оставайтесь на текущем экране.

Позвольте мне попробовать с примером

В моем приложении четыре экрана, скажем, A, B, C, D

Я добавил вкладки для экранов A и C, они доступны во всем приложении (весь экран).

Теперь, если язапустим приложение и пойдем A ->B->C -> D и нажмите на вкладке «Главная» (A)Загрузите Экран A, вместо этого просто оставайтесь на Текущем экране

но хорошо, если я делаю тот же процесс с другой вкладкой C (My Favorite), он загружает правильный экран.

Редактировать: Я реализовалdidSelectViewController метод, как @sanjit предложил мне, но в этом я не могу различить, какая вкладка нажата на этот раз?

Я был бы очень признателен! если кто-то может указать мне правильное направление

Ответы на вопрос(3)

Ваш ответ на вопрос