gpt4 book ai didi

ios - 如何保存和加载应用程序最后的数据+ View ? (没有 NSCoding?)

转载 作者:行者123 更新时间:2023-11-30 13:45:24 25 4
gpt4 key购买 nike

我正在使用适用于 iOS 9.2 的 Swift 2 和 Xcode 7

我的,基本完成的游戏应用程序创建了一个复杂的 View (SceneKit + SpriteKit +随机变量+游戏进度)。当我切换到菜单并返回时,一切都保持不变(只是切换 View 或场景)。但是,当应用程序关闭时,它会以 main.storyboard 的入口点重新启动,并且我的数据消失了。

应用程序打开时的状态应与关闭时的状态相同。我已经尝试使用 NSCoding 归档相关数据来保存/加载场景,但它总是以奇怪或无信息的错误或白屏结束,这根本无法帮助我找到我的错误。我根本不知道错误在哪里; Xcode 没有提供任何有用的信息。但即使它有效,也无法解决我的入口点问题。

有没有一种简单的方法可以从我的应用程序的最后一个状态+ View 重新启动?为此我需要 NSCodingNSUserDefaults 吗?

最佳答案

您应该使用State Restoration .

它的设计正是为了将应用返回到之前的状态,并且可用于恢复应用的状态,包括其 SpriteKit 场景。

At some point, the system might need to terminate your app to free up memory for the current foreground app. However, the user should never have to care if an app is already running or was terminated. From the user’s perspective, quitting an app should just seem like a temporary interruption. When the user returns to an app, that app should always return the user to the last point of use, so that the user can continue with whatever task was in progress. This behavior provides a better experience for the user and with the state restoration support built in to UIKit is relatively easy to achieve.

您可以在App Programming Guide for iOS中找到更多详细信息。文档,在启动时保留应用程序的视觉外观

关于ios - 如何保存和加载应用程序最后的数据+ View ? (没有 NSCoding?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35005405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com