如何使用 NSUserDefaults 存储和加载 BOOL 数组或 int 数组? (IOS 7)

Posted

技术标签:

【中文标题】如何使用 NSUserDefaults 存储和加载 BOOL 数组或 int 数组? (IOS 7)【英文标题】:How to Store and Load a BOOL array or int Array with NSUserDefaults? (iOS7) 【发布时间】:2014-09-24 13:59:18 【问题描述】:

我正在构建一个 ios 游戏应用程序,我基本上试图在 NSUserDefaults 中存储一个 BOOL 级别数组(查看哪个级别已解锁)和一个存储玩家获得点数的 int 数组每个级别。

谢谢。

【问题讨论】:

【参考方案1】:

您可以像这样将布尔值存储在数组中:

NSArray *boolArray = @[@YES,@NO,@YES];

像这样的整数:

NSArray *intArray = @[@1,@2,@3];

然后您可以像这样将数组保存到 NSUserDefaults(虽然我真的不建议这样做):

[[NSUserDefaults standardUserDefaults] setObject:boolArray forKey:@"myBoolArray"];

您以后可以像这样检索它:

NSArray *retrievedArray = (NSArray *)[[NSUserDefaults standardUserDefaults] objectForKey:@"myBoolArray"];

【讨论】:

谢谢!但是你为什么不建议这样做呢?有更好的方法吗? 因为如果用户重置其设置,您的数据将会消失。如果您需要保留该数据,更好的方法是使用 plist。

以上是关于如何使用 NSUserDefaults 存储和加载 BOOL 数组或 int 数组? (IOS 7)的主要内容,如果未能解决你的问题,请参考以下文章

NSUserDefaults 自动加载和保存数据

iOS:如何在应用程序中存储用户名/密码?

如何使用 NSUserDefaults 在 Swift 中存储自定义类数组?

为自定义类保存到 nsuserdefaults 的最佳方法?

如何在我的应用加载之前从 NSUserDefaults 检索值...?

iOS NSUserDefaults synchronize存储遇到的坑