使用主视图中的数据在子视图中加载数组

问题描述:

我的应用程序有两个视图。主视图允许输入产品的详细信息并将其存储到第二个视图中的数组中。每当我切换到第二个视图时,所有产品详细信息都应该加载到表视图。使用主视图中的数据在子视图中加载数组

问题是,每当我尝试向数组添加产品时,它都会保存数据,但会替换以前的数据。所以所有的时间数组只存储一个产品信息。我假设每次添加产品时都会初始化数组。这里是代码,

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
    { 

    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
     productArray =[[NSMutableArray alloc] init]; 
    } 
    return self; 
} 

我试图在viewDidLoad方法和许多其他地方分配数组,但没有任何帮助。

请帮忙。

感谢

我不能完全肯定,如果我明白你的问题,而是:

  1. 如果你想一个对象添加到一个数组,你应该阵列设置为NSMutableArray并调用addObject方法,以便数组现在将包含您的新对象。
  2. 如果你想从你的主视图传递数组到你的第二个视图,你应该在你的segue设置中完成。基本上你在第二个视图中有一个@property,在你的主视图中有performSegue方法,你可以将@property设置为你希望的任何数组。

你不能使用segue没有故事板(至少我不知道如何)。所以,如果你想使用厦门国际银行,你需要做的是用传统的方式:

SomeViewController *viewController = [[SomeViewController alloc] initWithNibName:@"nib" bundle:nil];; 
viewController.array = self.array; // the array you want to pass to your new view 
在页头,初始化事情

所以,你只实例化的数组,但你似乎并没有传递数据它?

+0

@iBlue ..感谢您的快速回复。我正在用addObject方法使用NSMutable数组。你能否提供一个使用Segue的示例代码?顺便说一下,我不使用Storyboard。它是一个带有额外的ViewController和xib文件的单一视图应用程序。 – Sibin 2012-08-01 15:48:16

+0

注释不支持块代码。让我编辑我的答案 – aforaudrey 2012-08-01 17:03:16