iOS视图控制器数据共享setText'延迟'

时间:2015-06-05 21:22:50

标签: ios objective-c viewcontroller settext

我有2个View Controller,其中一个有一个字符串(例如" Text1 Text2"),当按下一个按钮时,它会将其保存到默认用户数据:

[[NSUserDefaults standardUserDefaults] setObject:textObject forKey:@"textObjectKey"];

这个按钮在第二个视图控制器上有一个popover演示文件,它在viewDidLoad中检索字符串:

[[NSUserDefaults standardUserDefaults] stringForKey:@"textObjectKey"];

并将setText方法调用textView以包含字符串。

这确实有效,但我的问题是,当我更改字符串(例如" Text1 Text2 Text3")并单击按钮时,textView不再显示下一个文本,直到我再次按下它。不仅如此,如果我第一次按下按钮再次运行项目,它将会显示上次运行程序时的文本(直到我再次单击它)。

这是否延迟'我可以解决的问题?或者这是iOS的一个错误(我认为这只是因为它保留了以前程序执行的信息)。

修复编辑:菜鸟错误。我把使用segue将按字符串方法存储在用户数据中的字符串的语句。

1 个答案:

答案 0 :(得分:0)

如果这就是您对文本所做的一切,我会说这是一个缓慢的解决方案。在我看来,直接在下一个控制器上设置属性会更好。 但是,在存储到NSUserDefaults后,请调用

[[NSUserDefaults standardUserDefaults] synchronize];

否则,它会在感觉就像写入持久存储。