Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 通过情节提要场景的更改使标签内容持久化_Objective C_Ios_Xcode_Storyboard_Uilabel - Fatal编程技术网

Objective c 通过情节提要场景的更改使标签内容持久化

Objective c 通过情节提要场景的更改使标签内容持久化,objective-c,ios,xcode,storyboard,uilabel,Objective C,Ios,Xcode,Storyboard,Uilabel,我有一个有三个场景的故事板,所有场景都包含相同的UILabel。它连接到一个IBOutlet,IBOutlet UILabel*mainLabel在myViewController.h中,一切正常,直到场景发生变化,当它重置时,就像从后台关闭应用程序并再次启动一样。 当场景发生更改时,UILabel不应重置,而应保留更改之前的值,而不是重置为默认值 场景之间的变化仅通过故事板作为模式片段完成。 我会提供更多相关的代码,但我找不到任何可能影响这一点的内容。 你将如何解决这个问题 是否调用viewD

我有一个有三个场景的故事板,所有场景都包含相同的
UILabel
。它连接到一个IBOutlet,
IBOutlet UILabel*mainLabel在my
ViewController.h
中,一切正常,直到场景发生变化,当它重置时,就像从后台关闭应用程序并再次启动一样。
当场景发生更改时,UILabel不应重置,而应保留更改之前的值,而不是重置为默认值

场景之间的变化仅通过故事板作为模式片段完成。
我会提供更多相关的代码,但我找不到任何可能影响这一点的内容。

你将如何解决这个问题

是否调用viewDidUnload? 在内存需要的情况下,可以卸载不在屏幕上的视图,在这种情况下,下次需要时,它会从nib再次加载,恢复为默认值。
viewController不是,因此您可以将标签内容存储在ivar(NSString?)中,然后在viewDidLoad上恢复标签的状态。

谢谢,这似乎合乎逻辑,但我的理解是,我应该在调用viewDidLoad之前设置UILabel的值,但是标签和其他需要的字符串还不存在,并且值本身还没有存储,因为这发生在viewDidUnload上,我做错了什么?