尝试在标签栏控制器

时间:2015-06-25 07:13:32

标签: ios objective-c tabview

我正在尝试在标签栏中的视图之间传递一些数据。我的第一个视图能够从我的模型类加载数据并对其进行操作。但是当我点击标签栏控制器中的第二个或第三个标签时,数据不会通过。这就是我试图传递它的方式。

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

if (tabBarController.selectedIndex == 1){
HashTagTableViewController *hash [[HashTagTableViewController alloc]init];
    hash.userArray = feed.userArray;
}else if (tabBarController.selectedIndex == 2){
    PhotoTagTableViewController *photo = [[PhotoTagTableViewController alloc]init;
    photo.userArray = feed.userArray;

}

}

feed是我在当前视图控制器中创建的模型类实例的名称。我试图避免创建模型类的多个实例,因为它必须多次调用API。我所要做的就是将feed.userArray传递给不同的视图,以便进行不同的操作。

1 个答案:

答案 0 :(得分:3)

不要在此方法中创建视图控制器。 UITabBarController在初始化时自动创建所有视图控制器。试试这个:

-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{
    if (tabBarController.selectedIndex == 1){
        HashTagTableViewController *hash = (HashTagTableViewController *) viewController;
        hash.userArray = feed.userArray;
    }else if (tabBarController.selectedIndex == 2){
        PhotoTagTableViewController *photo = (PhotoTagTableViewController *)viewController;
        photo.userArray = feed.userArray;
    }
}