2012-11-11 46 views
2

我使用一个简单的UIViewController为我的应用程序,这不是太复杂。它有两页。在第一页上,我将数据输入到文本框中以指示将在第二页上处理的用户可更改数据。使用两个视图与一个UIViewcontroller

@property (weak, nonatomic) IBOutlet UITextField *routeText; 

当我在第二页上运行我的动作,我用这样的命令来访问什么输入到文本框中:

NSString *variable = [[NSString alloc]initWithFormat:@"%@",self.routeLabel.text];  
self.consoleView.text = variable; 

但值始终为(空) 。我对所有代码使用相同的TravelViewController.h/.m。我的问题是:这是不是可接受的编码行为以这种方式分享它,还是我需要以不同的方式定义对象,以便文本可以在视图之间共享?

感谢您提供的任何帮助。

+0

你是什么意思的“第二页”?你如何到达这个页面?其次,initWithFormat方法是不必要的。你只需写:self.consoleView.text = self.routeLabel.text; – rdelmar

+1

为什么你引用的@属性叫做'routeText',但是你访问的对象叫'routeLabel'? – sjwarner

+0

@sjwarner。这只是一个疏忽。我有几个不同的名字。他们应该匹配。 –

回答

1

如果它是一个不同的视图控制器,您需要使用@property将文本从父视图控制器传递给子项。在第二类中声明它,当你从第一个屏幕推到第二个时,在@property中设置这个值。之后,您可以使用self.text在第二个屏幕中使用它。

相关问题