我有两个类,Step1和Step2。步骤1包含一个名为wrp的文本字段。当用户在步骤1中输入wrp中的数字时,我希望能够在步骤2中使用它。这是我尝试过的(这是Step2中的代码):
int AdditionalDays;
Step1ViewController *wrp1 = [Step1ViewController new];
UITextField *wrp = [wrp1 wrp];
AdditionalDays = [wrp.text intValue];
TotalTotal.text = [[NSString alloc] initWithFormat:@"%i", AdditionalDays];
该应用程序不会引发错误消息,但是在步骤2中将忽略在步骤1中在wrp中输入的用户编号。我不知道为什么它不起作用。有什么建议么?
最佳答案
在Step1ViewController *wrp1 = [Step1ViewController new];
行中,您正在创建Step1ViewController
的新实例。您需要获得对用户输入文本的原始Step1ViewController的引用。
为此,您可能会在Step2ViewController中创建一个属性,您可以在其中传递Step1ViewController或更好的用户输入的值。
因此,在您的Step2ViewController类标题中,添加一个如下所示的属性:
@property (assign) int additionalDays;
然后,当您创建要在屏幕上显示它的Step2ViewController时,请将此属性设置为用户输入的值,如下所示:
Step2ViewController *controller = [Step2ViewController new];
controller.additionalDays = [wrp.text intValue];
// push the controller on a UINavigationController or something