如何创建视图控制器数组?

时间:2014-07-12 22:39:21

标签: ios uitableview uiviewcontroller

在应用程序开发方面,我是全新的,所以这可能是一个愚蠢的问题。所以我做了一个UI表。每一行都是不同的主题。我想允许用户点击表格单元格,然后将它们引导到另一个视图控制器。所有视图控制器将以不同方式排列不同的内容。任何想法如何使用故事板或只是以编程方式实现它?欣赏它!

1 个答案:

答案 0 :(得分:3)

要回答帖子的主要问题,以下是创建视图控制器数组的方法:

// create your view controllers and customize them however you want
UIViewController *viewController1 = [[UIViewController alloc] init];
UIViewController *viewController2 = [[UIViewController alloc] init];
UIViewController *viewController3 = [[UIViewController alloc] init];

// create an array of those view controllers
NSArray *viewControllerArray = @[viewController1, viewController2, viewController3];

我不太确定这是您在解释时实际需要做的事情,但如果没有更多信息,这将回答最初的问题。

你真的不想一次创建所有视图控制器并将它们放在内存中 - 你真的只想在实际需要时创建它们 - 这是用户选择的时候细胞。您将要执行以下操作以实现您想要的目标:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];

    if (indexPath.row == 0) {
        // create the view controller associated with the first cell here
        UIViewController *viewController1 = [[UIViewController alloc] init];
        [self.navigationController pushViewController:viewController1 animated:YES];
    }

    else if (indexPath.row == 1) {
        // create the view controller associated with the second cell here
        UIViewController *viewController2 = [[UIViewController alloc] init];
        [self.navigationController pushViewController:viewController2 animated:YES];
    }

    else {
        // etc
    }
}