首先,我正在使用故事板。 我首先创建了一个由一个类控制的viewcontroller,在这个视图中,ther是一个文本字段,用户在其中放置一个数字,一个按钮使用模态将用户带到一个tabbar控制器,其中有两个itens“one”和“two”,“one “和”两个“将我们带到不同的viewcontrollers(由同一个类控制),但两者都带有标签,这个标签必须显示用户在第一个视图的文本字段中放置的值...我只知道该怎么做通过:
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;
在另一个班级......
但是,当我在模拟器中测试它,并单击将我们带到“一”的按钮时,标签是空的,即便如此,当我点击“两个”的项目时,标签就在那里确切的数字!
我试图在标签栏控制器中更改“一个”和“两个”顺序,然后问题发生在“两个”,一个是完美的!
我不知道会发生什么......
答案 0 :(得分:1)
表视图控制器以一种有趣的方式工作。在标签之间切换时,可以使用viewWillAppear
或viewWillDisappear
等方法。
所以问题就变成了你发布代码行的地方。该代码将起作用,但只有在用户点击不同选项卡之前运行第一个代码,并且代码的第二部分在第一个代码之后运行。
– tabBarController:shouldSelectViewController:
和tabBarController:didSelectViewController:
另一种方法是导入视图,然后在第一个视图中设置变量,同时仍然在第一个视图中。