我正试图在标签栏的一个页面上输入一些东西到另一个...例如 标签栏的第1页 标签文本字段(插入内容) 生成...... 标签栏的第2页 嘿...... ....... 标签栏的第3页 嘿......插入的是什么
请告诉我这样的事情是否可行...提前谢谢你!
答案 0 :(得分:1)
是的,有可能。事实上,有几种方法可以做你想要的。从您描述您想要做的事情的方式来看,我建议您查看NSNotificationCenter。基本上,当您设置视图控制器时,第二个和第三个视图控制器可以注册以接收某种类型的通知。当文本字段的内容改变时,第一个视图控制器将“发布”通知。第二个和第三个将收到通知,然后更新其内容。
编辑:
//register for a notification. Whenever the notification is sent, mySelector: is called on self (probably done whe thn second and third controller are loaded)
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mySelector:) name:@"NotificationName" object:nil];
//send a notification (done when the first view controllers action is finished)
[[NSNotificationCenter defaultCenter] postNotificationName:@"NotificationName" object:obj];
答案 1 :(得分:0)
另一种方法是使用app delegate寻求帮助。在appdelegate中创建一个属性,例如userName。在您要访问的视图中导入appdelegate类。使用其属性存储在一个视图中并在另一个视图中检索它。您可以访问appdelegate单例实例属性,如
((yourAppDelegate*)[[UIApplication sharedApplication] delegate]).userName = @"Set Value";
在另一个视图的viewWillAppear中:
self.greetingLabel.text = ((yourAppDelegate*)[[UIApplication sharedApplication] delegate]).testString;
可能不是最优雅的解决方案,只是实现结果的另一种方式。
答案 2 :(得分:0)
如果我正确理解了您的问题,请查看此SO 问题的答案。