0

首先,我正在使用情节提要。我首先创建了一个由一个类控制的视图控制器,在这个视图中,有一个文本字段,用户在其中输入一个数字,一个按钮使用模式将用户带到一个标签栏控制器,其中有两个项目“一”和“二”,“一" 和 "two" 将​​我们带到不同的视图控制器(由同一个类控制),但都带有标签,这个标签必须呈现用户在第一个视图中放入文本字​​段的值......我只知道该怎么做通过:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger:[mytextfield.text intValue] forKey:@"integerKey"];

在一个班级中,并且:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSInteger mynumber = [prefs integerForKey:@"integerKey"];

NSString *mystring = [[NSString alloc] initWithFormat:@"%i", mynumber];
mylabelonone.text = mystring;
mylabelontwo.text = mystring;

在另一个班级...

但是,当我在模拟器中对其进行测试时,然后单击将我们带到“一”的按钮,标签是空的,即便如此,当我单击转到“二”的项目时,标签就在那里,并带有确切的数字!

我试图在标签栏控制器中更改“一”和“二”的顺序,然后问题发生在“二”上,一个是完美的!

我不知道会发生什么...

4

1 回答 1

0

表视图控制器以一种有趣的方式工作。在选项卡之间切换时,方法如 viewWillAppearviewWillDisappear

因此,问题变成了您将发布的代码行放在哪里。该代码将起作用,但前提是第一个代码在用户点击不同的选项卡之前运行,并且代码的第二部分在第一部分之后运行。

– tabBarController:shouldSelectViewController:tabBarController:didSelectViewController:

另一种方法是导入一个视图,然后在仍然在第一个视图中时从第二个视图设置一个变量。

于 2012-07-17T02:36:05.957 回答