保存和整数并共享它将所有类
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 解决方案也可以。
【讨论】:
以上是关于保存和整数并共享它将所有类的主要内容,如果未能解决你的问题,请参考以下文章