我有两个类,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

10-08 14:51