我正在开发一个标签栏应用程序。在第一个标签中显示一个文本。有一个保存该文本的选项。书签(保存)文本可以在第三个标签中查看。第三个标签栏视图是一个表格视图。标记文本的书显示在该tableview中。所以,当我单击每一行时,它应返回到第一个选项卡,并在那里查看相应的文本。我按下了第一个选项卡 ReminderAppDelegate * theDelegate =(ReminderAppDelegate *)[[UIApplication sharedApplication] delegate]; UITabBarController * tabController = theDelegate.tabBarController;
tabController.selectedIndex = 0; 但是我如何在第一个视图中查看特定文本。任何人都可以帮助我plz.Thanks提前。
答案 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)
答案 2 :(得分:0)
与从app delegate共享标签栏的方式相同,您可以通过app delegate在选项卡之间共享一个NSString。
或者,您可以使用NSUserDefaults
为共享字符串设置属性。在viewDidAppear
和viewDidDisappear
时触发对属性的读/写。
使用静态变量是Mannan所说的另一种方式。
答案 3 :(得分:0)
尝试制作单例..类似于ApplicationData ......并且你可以为你想要保存和传递的每件事创建一个属性。
例如在选项卡1中,您将转到[ApplicationData实例] .stringToSave = @“something”,如果您调用[ApplicationData实例],则在选项卡3中.stringToSave它将返回@“something”