使用委托将NSMutableArray传递回以前的视图控制器

时间:2015-01-17 05:42:50

标签: ios objective-c iphone

我有3个视图控制器

第一个视图控制器将文本字段中的对象存储在NSMutableArray中,用户输入的信息。有4个字段作为一个对象存储在NsMutableArray中。

将数据存储在数组中之后,将其存储在另一个数组array2中,该数组位于第二个视图控制器中,第二个视图控制器具有UItableview和自定义tableview单元格。 array2正在tableview单元格中显示信息。

我有一个更新btn,它转到第3个视图控制器,并在4个uitextfields中的tableview单元格中显示所有信息,就像在第一个视图控制器中一样。在我更改数据之后,我将它再次存储在另一个数组array3中,我希望将其传递回前一个第二个视图控制器,以在表格视图单元格中显示更新的信息。

到目前为止一切正常,我的问题是,如何将array3传递回上一个视图控制器以显示更新的信息?我正在使用委托传递数据,但我似乎无法将其传递回以前的视图控制器。应用程序崩溃,错误是“对象不能为零”

我检查了各种教程和问题,但找不到答案。请帮忙。

使用委托和数组

2 个答案:

答案 0 :(得分:1)

您必须在委托方法中传递数组,以便在第二个viewcontroller中获取此数组。例如,您调用了委托方法,如: [self.delegate setData:(NSMutableArray *)array];

您可以在此处定义setData方法,例如

  • (void)setData:(NSMutableArray *)array {  NSLog(@"数组值%@",数组) }

答案 1 :(得分:0)

我的建议是你可以在Appdelgate 中维护你的NSMutableArray 使用NSUserdefaults

- 通过使用这些,您可以在项目中维护您的数据