如何在iphone中将值从一个tabbar传递到另一个tabbar

时间:2011-07-29 12:11:12

标签: iphone objective-c

我正在开发一个标签栏应用程序。在第一个标签中显示一个文本。有一个保存该文本的选项。书签(保存)文本可以在第三个标签中查看。第三个标签栏视图是一个表格视图。标记文本的书显示在该tableview中。所以,当我单击每一行时,它应返回到第一个选项卡,并在那里查看相应的文本。我按下了第一个选项卡 ReminderAppDelegate * theDelegate =(ReminderAppDelegate *)[[UIApplication sharedApplication] delegate]; UITabBarController * tabController = theDelegate.tabBarController;

tabController.selectedIndex = 0; 但是我如何在第一个视图中查看特定文本。任何人都可以帮助我plz.Thanks提前。

4 个答案:

答案 0 :(得分:1)

首次在第一个标签栏中输入文字并想要保存文本时,只需将文本存储在NSString中并将其添加到NSMutableArray即可。这个数组可以放在你的appDelegate中,所以为了保存文本并将它存储在你可以做的数组中:

NSString *text = [[NSString alloc] initWithString:textField.text];

ReminderAppDelegate *theDelegate = (ReminderAppDelegate *)[[UIApplication sharedApplication] delegate]; 
[theDelegate.textArray addObject:text];

现在,当您想要在第三个标签栏视图中显示数组时,您只需将该数组用作表的dataProvider。 当您按表格行时,您可以在数组中获取相应的索引,并在第一个标签栏中设置文本以显示该数组索引的文本。

答案 1 :(得分:0)

您可以在第三个标签中将文本保存在静态字符串中,并在第一个标签页中使用它。

这可能会对你有帮助。

Static string variable in Objective C on iphone

答案 2 :(得分:0)

与从app delegate共享标签栏的方式相同,您可以通过app delegate在选项卡之间共享一个NSString。

或者,您可以使用NSUserDefaults为共享字符串设置属性。在viewDidAppearviewDidDisappear时触发对属性的读/写。

使用静态变量是Mannan所说的另一种方式。

答案 3 :(得分:0)

尝试制作单例..类似于ApplicationData ......并且你可以为你想要保存和传递的每件事创建一个属性。

例如在选项卡1中,您将转到[ApplicationData实例] .stringToSave = @“something”,如果您调用[ApplicationData实例],则在选项卡3中.stringToSave它将返回@“something”