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代码>在myViewController.h
中,一切正常,直到场景发生变化,当它重置时,就像从后台关闭应用程序并再次启动一样。
当场景发生更改时,UILabel不应重置,而应保留更改之前的值,而不是重置为默认值
场景之间的变化仅通过故事板作为模式片段完成。
我会提供更多相关的代码,但我找不到任何可能影响这一点的内容。
你将如何解决这个问题 是否调用viewDidUnload?
在内存需要的情况下,可以卸载不在屏幕上的视图,在这种情况下,下次需要时,它会从nib再次加载,恢复为默认值。
viewController不是,因此您可以将标签内容存储在ivar(NSString?)中,然后在viewDidLoad上恢复标签的状态。谢谢,这似乎合乎逻辑,但我的理解是,我应该在调用viewDidLoad之前设置UILabel的值,但是标签和其他需要的字符串还不存在,并且值本身还没有存储,因为这发生在viewDidUnload上,我做错了什么?