如何复制不同选项卡中的数组对象

时间:2011-08-27 15:21:23

标签: iphone objective-c ios iphone-sdk-3.0

我在FirstviewController中有NSMutable数组。我想将该数组的对象复制到SecondViewController中的另一个NSMUtable数组。 但是FirstViewController和SecondViewController在不同的标签中(我的应用程序的rootController是tabBarController)

注意:我知道它适用于[self.navigationController pushViewController:firstViewController animated:YES]; 但是,当viewControllers位于不同的选项卡中时,我怎么能这样做呢?

请给我一个帮助。谢谢你提前。

2 个答案:

答案 0 :(得分:2)

有几种方法可以做这种类型的模式:

  1. 团。在这里,您可以通过向其传递指针使一个视图控制器知道另一个视图控制器。因此,您首先在某处创建控制器1,然后在创建控制器1之后,告诉控制器2有关控制器1的信息,以便控制器2可以访问控制器1的公共实例变量
  2. 通知。您可以通过您注册要收听的通知系统发送对象。这里控制器2将监听控制器1在您需要时发送的某些通知。
  3. 全局变量。这是您不在每个视图控制器中存储数组的地方,而是存储在所有可访问的全局位置,例如App Delegate或根视图控制器。
  4. 有更多的设计模式,但这些是您进行此类设置的最佳选择。有关这些的更多信息,请查看Apple提供的Cocoa Fundamentals Guide

答案 1 :(得分:1)

在下面的代码drink中是detailViewController类的数组,而drinkscurrent类的数组,我想要导航到另一个类并想要初始化数组在其他班级......

DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
    detailViewController.drink = [self.drinks];
    [self.navigationController pushViewController:drinkDetailViewController animated:YES];
[detailViewController release];