gpt4 book ai didi

ios - 如何使用 Swift 在基于 UIKit 的游戏中保存/加载游戏状态

转载 作者:行者123 更新时间:2023-11-28 11:16:35 26 4
gpt4 key购买 nike

我正在使用 UIKit 在 Swift 中开发游戏。我想在每次关闭和打开游戏时保存/加载更改。需要保存/加载的数据是包含String和Int的类。

示例类:

class UserData {
var username: String = String()
var gamepoints: String = String()
var items: [UserItem] = []
}

class UserItem {
var name: String = String()
var quantity: Int = 0
var price: Int = 0
}

我只需要保存与上面类似的类。我应该使用什么方法?当游戏关闭并再次打开时,如何检索 UserData 类实例的更新值?有没有一种方法可以将此类值保存到某个地方并在重新启动应用程序后对其进行初始化?

最佳答案

答案是肯定的。您将要查看 NSCodingNSKeyedArchiver。基本上您需要执行以下步骤:

  1. 让您的 UserDataUserItem 类实现 NSCoding 协议(protocol)。
  2. 当你需要使用 NSKeyedArchiver
  3. 时将它们写入磁盘
  4. 当你需要使用 NSKeyedUnarchiver
  5. 时从磁盘读取它们

查看这篇文章:http://nshipster.com/nscoding/

然而,您还有许多其他存储用户数据的选项 - 您也可以使用 NSUserDefaults、CoreData、SQLite 等存储用户数据。您的问题确实很广泛,并且不知道您的具体细节游戏:它需要多长时间读取/输出这些数据,其中有多少,你使用什么数据结构来收集它……很难给你一个明确的正确答案。

关于ios - 如何使用 Swift 在基于 UIKit 的游戏中保存/加载游戏状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31384349/

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