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

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

注意:我知道这是工作[self.navigationController pushViewController:firstViewController animated:YES]; 但是,我怎么能做到这一点viewControllers在不同的标签,就像我的情况。

请给我一个帮助。 先谢谢了。

有几种方法来做这种模式:

  1. 代表团。 这是通过传递一个指针来让一个视图控制器知道另一个视图控制器的地方。 因此,您首先在某处创build控制器1,然后在创build控制器1之后,告诉控制器2有关控制器1,以便控制器2可以访问控制器1的公共实例variables
  2. 通知。 您可以通过您要注册听取的通知系统发送对象。 在这里,控制器2将监听控制器1在需要时发送的某些通知。
  3. 全局variables。 这是您将数组abject不存储在每个视图控制器中的位置,而是存放在所有应用程序委托或根视图控制器都可访问的全局位置。

有更多的devise模式,但这是你最好的select这种types的设置。 有关更多信息,请查看Apple提供的Cocoa Fundamentals Guide

在下面的代码drinkdetailViewController类的数组, drinkscurrent类的数组从我想要导航到另一个类,并希望初始化其他类上的数组…

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