我整个上午都在寻找如何做到这一点。我有两个View Controllers。从根View Controller (ViewControllerA -这是一个表视图控制器),您可以推送到第二个视图控制器(ViewControllerB)。
在ViewControllerB中,有两个字段: contacts & textBody。当用户完成后,他们可以点击“添加”。然后,这将返回到ViewControllerA。我现在尝试做的是,每次这个过程发生时,用户刚添加的来自ViewControllerB的所有信息都会进入ViewControllerA中的一个单元格。然后,用户可以添加任意数量的单元格。
然而,我不能做的是跨视图控制器获取信息。我整个上午都在研究如何使用应用程序代理、单例?、协议、共享属性等!但我还是被卡住了。
我想做的,但不能做的是,每次用户在ViewControllerB上点击“添加”时,联系人和文本都会放入一个数组中。然后将此数组放入另一个数组中,该数组保存用户创建的所有较小的数组?如果你有一个想法,或链接到类似/示例代码或教程,将不胜感激!
发布于 2013-06-22 11:11:59
如果信息真的是“全局的”--它在整个应用中只有一个实例--那么你应该按照DB80Buckeye的建议创建一个单例。
如果信息是真正属于ViewController1的东西,并且您希望在ViewController2中修改它(即ViewController2实际上是ViewController1的一部分,只是它恰好在另一个屏幕上),那么您应该将其作为ViewController2的构造函数的一部分进行传递。
-(void)view_controller_1_that_push_view_controller_2_onto_the_stack {
ViewController2* vc2 = [[ViewController2 alloc] initWithInformation:your_information];
[self.navigationController pushViewController:vc2 animated:YES];
}
@interface ViewController2
-(id)initWithInformation:(YourInformationClass*)info;
@end另一种方法是使用通知。
https://stackoverflow.com/questions/17246700
复制相似问题