保存和整数并共享它将所有类

Posted

技术标签:

【中文标题】保存和整数并共享它将所有类【英文标题】:Saving and integer and sharing it will all classes 【发布时间】:2014-01-27 21:24:37 【问题描述】:

所以我正在尝试开发游戏,但不熟悉 App Delegate。我可能错了,但是有一种方法可以将 App Delegate 用于以下事情。首先,我有一种与所有类(即货币、级别等)共享整数的方法。但是,如果这些整数没有被保存,它们将毫无意义,所以保存整数是另一个问题。现在有人对这两个问题有什么想法可以解决它们吗?

【问题讨论】:

您可以在 AppDelegate 中定义属性并让它们在整个应用程序中访问。您可以使用将新值写入适当的持久位置(例如 NSUserDefaults)的 setter 方法备份属性。 我将如何保存和加载它们(技术方面)? NSUserDefaults 是直截了当的。您通常会在应用程序委托初始化例程中从 NSUserDefaults 初始化您的属性,并且属性设置器方法会将新值写入 NSUserDefaults(除了更新属性)。不是火箭科学。 【参考方案1】:

的最简单的方法是使用NSUserDefaults的。将其设置在第一时间 P>

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:int forKey:@"myInteger"];

和随后的任意时间做同样的事情在每一个类重写什么目前还。如果你只是想访问它,那么你可以做以下的(也是你想要的任何类) P>

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults integerForKey:@"myInteger"];

最后,运行NSUserDefaults的节省之间,这样的回答你的其他问题。希望这会有所帮助

【讨论】:

这节省了吗?我只是把应用程序的委托顶部(如果是的话在其下部分)?编辑:我假设我把它放在 - (空)applicationDidEnterBackground:(UIApplication的*)应用 SPAN> 继承人我以前的评论的编辑版本:我只是把顶部的应用程序委托,我假设我把它放在 - (空)applicationDidEnterBackground:(UIApplication的*)应用 SPAN> 大声笑,我在哪里分类什么的整数,我希望它救? SPAN> 是的,你可以把它放在那里。在我的例子,int是保存号码。你会插入你的变量的名称或者你可以只是把一个号码,说25无论是作品。好运跨度> 确定,所以每次我想保存或加载它我只是把它* NSUserDefaults的默认值= [NSUserDefaults的standardUserDefaults]; [默认integerForKey:@ “myInteger”];? (对不起,我的问题多如牛毛我新)我不需要@synthesize什么? SPAN>【参考方案2】:

您可以使用NSUserDefaults 在应用程序运行之间保存一些值。如果你不经常使用这些,你可以选择只通过NSUserDefaults。如果您经常使用它们,最好在 AppDelegate 或任何您想要的单例上创建属性并通过这些属性,仅酌情保存到NSUserDefaults(例如applicationWillResignActive)。

【讨论】:

是的,它们会经常使用,所以我应该在 AppDelegate 中创建属性。如果是这样,我将如何保存和加载它们(技术方面)?【参考方案3】:

如果您需要更多的数据库方法,您可以使用 Core Data。但是 NSUserDefaults 解决方案也可以。

【讨论】:

以上是关于保存和整数并共享它将所有类的主要内容,如果未能解决你的问题,请参考以下文章

Extjs 与所有实例共享类配置

整数共享首选项始终返回0

将导出的符号保存在共享库中

DelphiforLinux中应用共享对象库

如何在所有开发者之间共享 FxCop 规则?

创建进程的多个子进程并维护其所有 PID 的共享数组