我需要在tabBarController中创建多个控制器吗?

时间:2012-08-31 15:57:38

标签: ios tabbarcontroller

我的服务器中有一个xml文件:

<categories type="array">
  <category><id type="integer">5</id><name>1</name></category>
  <category><id type="integer">1</id><name>2</name></category>
  <category><id type="integer">2</id><name>3</name></category>
  <category><id type="integer">3</id><name>4</name></category>
  <category><id type="integer">4</id><name>5</name></category>
</categories>

当我的应用程序启动时,我想在底部显示一个类别一个标签项,每个类别页面将显示该类别的许多食物列表

我想知道是否需要创建一个类别一个控制器并将它们放在标签控制器中或在标签栏中创建多个项目,每个类别共享一个页面视图?

1 个答案:

答案 0 :(得分:1)

每个标签项都需要一个视图控制器的唯一实例。但当然所有实例都可以属于同一类。因此,您可以定义具有属性MyViewControllertype的类name,然后为每个选项卡实例化一个。

伪代码:

NSMutableArray *viewControllers = [NSMutableArray array];
for all categories {
    MyViewController *vc = [[MyViewController alloc] initWithNibName:...];
    vc.type = ....;
    vc.name = ....;
    [viewControllers addObject:vc];
}
tabBarController.viewControllers = viewControllers;