2012-12-02 30 views
0

我有一個包含三個場景的故事板,所有這些場景都包含相同的UILabel。它連接到我的ViewController.h中的IBOutlet,IBOutlet UILabel *mainLabel;,並且一切都可以工作,直到場景改變,重置時,就好像應用程序從背景中被殺死並再次啓動。
當場景改變時,UILabel應該不會重置,並且在更改之前保留它的值,而不是重置爲默認值。通過故事板場景的變化使標籤內容保持不變

場景之間的變化僅通過故事板作爲模態段落完成。
我會提供更相關的代碼,但我找不到任何可能會影響到這一點的代碼。
你會如何解決這個問題?

回答

1

是viewDidUnload調用的嗎? 如果內存需要,屏幕上的視圖可以被卸載,在這種情況下,它會在下一次需要時從筆尖重新加載,恢復爲默認值。 viewController不是,因此您可以將標籤內容存儲在ivar(NSString?)中,然後在viewDidLoad上,您可以恢復標籤的狀態。

+0

謝謝你,這似乎是合乎邏輯的,但我的理解是,我應該在調用viewDidLoad之前設置UILabel的值,但Label和其他所需的字符串尚未存在,並且值本身尚未存儲爲這發生在viewDidUnload上,我做錯了什麼? –