0

我正在使用游戏中心制作游戏应用程序。

我想问一下在应用程序中保存整个对象(GKTurnBasedMatch)等游戏数据的好习惯是什么?

因为,每场比赛都有 matchData。我打算将这个 GKTurnBasedMatch 保存在 NSDefault 中,但是从 nsdefault 中检索它没有运气。那么,有什么好的方法吗?

大家能给我一些建议吗?我的考虑只是如果我更新应用程序,NSDefault 数据会在应用程序更新后被删除吗?

4

1 回答 1

2

存储这些对象根本不是一个好习惯。Game Kit 的“真相”在 Game Center,因此您的应用应该从 Game Center 检索最新信息,以确保一切都是最新的。想象一下,如果您的用户有两台不同的设备,并在一台设备上玩游戏;如果另一台设备依赖于共享状态,那么它将错过更新。

当您的应用启动时,使用+[GKTurnBasedMatch loadMatchesWithCompletionHandler:]来找出当前正在进行的匹配。如果您需要将自定义数据与比赛一起存储,请将其存储在matchData比赛的属性中,以便与 Game Center 同步。

如果你想支持某种有限的离线显示,我会使用你需要的属性来显示和存储与比赛 ID 相关联的那些(这样你就可以在重新连接到游戏时将其匹配回现场比赛中心。例如,您可以存储匹配参与者的姓名和当前消息。这些都只是字符串,因此您可以轻松地将它们与用户默认的匹配 ID 一起存储。

于 2013-05-08T10:54:54.220 回答