Kontroler paska kart w telefonie iPhone

Dodałem dwie karty w mojej aplikacji, aby załadować kontroler dwóch widoków za pomocą tych kart

Tab1: HomeTab2: Ulubione

więc napisałem poniższy kod, aby to osiągnąć

W aplikacji Delegat

AppDelegate.h

@class ViewController,FavViewController;

@interface AppDelegate : UIResponder <UIApplicationDelegate>
@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 oto ekran wyników, który otrzymuję

Więc gdzie mam kłopoty w tym ..

Jeśli przejdę do następnego ekranu, moja pierwsza karta nie ładuje pierwszego ekranu (ekranu głównego), zamiast tego pozostaje na bieżącym ekranie.

Pozwól mi spróbować na przykład

W mojej aplikacji są cztery ekrany, powiedzmy A, B, C, D

Dodałem zakładki dla ekranów A i C, które są dostępne w całej aplikacji (ekran Wszystkie).

Teraz, jeśli uruchomię aplikację i przejdę do A -> B-> C -> D i wciśniesz na zakładkę Home (A), nie wczyta ona ekranu A, zamiast tego pozostanie na bieżącym ekranie

ale dobrą rzeczą jest to, że jeśli wykonam ten sam proces z inną kartą C (Moje ulubione), ładuje poprawny ekran.

Edytować: WdrożyłemdidSelectViewController metoda jak @sanjit zasugerowała mi, ale w tym nie mogłem rozróżnić, która karta jest dotknięta tym razem?

Byłbym naprawdę wdzięczny !! jeśli ktoś może wskazać mi właściwy kierunek

questionAnswers(3)

yourAnswerToTheQuestion