[英]state restoration in iOS
我正在存儲我的應用程序屏幕,以便在應用程序打開時它將顯示已存儲的屏幕。 該應用程序是基於導航的。
我已將Restoration Ids分配給主故事板中的兩個視圖控制器。 第一個控制器是導航控制器的根視圖控制器。 我還為導航控制器分配了Restoration Id。 現在問題是當我運行應用程序時,我收到以下警告:
無法創建正在進行的恢復標記文件。
不確定還需要做什么。
之前我有同樣的警告並通過以下方式修復它。
我在使用故事板。 我的故事板只包括導航視圖控制器和視圖控制器(該導航視圖控制器的根視圖控制器)。 在我的情況下,它是由兩個原因之一引起的:
未正確設置應用程序以進行狀態保存需要設置以下內容:
在app delegate中,覆蓋應用程序:willFinishLaunching。 可以在該方法中簡單地返回YES。
對於每個視圖控制器和視圖(包括導航視圖控制器和選項卡視圖控制器),請設置還原ID
在app delegate中,通過覆蓋shouldSaveApplicationState
和shouldRestoreApplicationState
選擇加入
如果仍然出現此警告,您可以檢查在Xcode中如何運行應用程序。 我在Xcode模擬器中運行我的應用程序,並且必須遵循特定的順序來觸發狀態保存。
encodeRestorableStateWithCoder
方法 不應該出現這個警告。 當我使用其他序列時,我看到出現了警告。 當我使用Xcode在我的設備上調試我的應用程序時,我按照相同的順序,沒有看到警告。
我認為該警告表明,由於Xcode無法正確終止應用程序,因此狀態恢復文件未正確保存到磁盤上。
嘗試為您的View提供恢復ID。 您可以這樣做以打開xib或故事板並將ID分配給View Controller。
更多詳情: http : //useyourloaf.com/blog/2013/05/21/state-preservation-and-restoration.html
嘗試在設備上運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.