ios - 尝试在标签栏 Controller 之间传递数据

原文 标签 ios objective-c tabview

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

-(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 是我在当前 View Controller 中创建的模型类实例的名称。我试图避免创建模型类的多个实例,因为它必须多次调用 API。我要做的就是通过 feed.userArray对不同的观点进行不同的处理。

最佳答案

不要在此方法中创建 View Controller 。
UITabBarController 在初始化时自动创建所有 View Controller 。试试这个:

-(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;
    }
}

关于ios - 尝试在标签栏 Controller 之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31043596/

相关文章:

ios - 要使模糊的 UIVibrancyEffect 工作,我们是否必须将其作为单独的 View 添加到 UIBlurEffect 的 contentView 中?

ios - 以编程方式将初始 View Controller 设置为选项卡 Controller swift 2

css - 设置PrimeNG p-tabView的样式

ios - 如何从具有多个单元格原型(prototype)的 UITableView 中捕获单元格数据?

ios - 快速打印不会以\n结尾

objective-c - 如何从另一个 View Controller 中的一个 View Controller 访问变量值?

ios - 确定用于保存信息的UIView

jsf - Primefaces tabview 事件索引无法正常工作

ios - 如何在 [SKAction rotateBy :duration:] 期间获得正确的 zRotation

iOS核心数据: Fetch child Magical Record data