iphone - 存储多个关联在一起的数组的最佳方式 - Objective C

标签 iphone objective-c ios cocoa-touch

贯穿我的 iOS 程序。我创建了多个数组,它们一起工作以使程序运行。现在我需要一种方法来存储数组,即使 iPhone 已关闭。所以我需要将这些数组存储为只有我可以触摸的文件。


我真的很想使用用户默认值,但我只是不知道这是否是我需要的。我有这样的问题:

  1. 我的数据将在用户默认设置中保留多长时间?
  2. 您什么时候可能会丢失数据?

如果我能够在 User Defaults 中存储数组,我该如何在 NSDictionaries 中存储数组?这样我就可以将关联的数组放在一起,并为每个数组指定一个特定的键。

最佳答案

在 NSDefaults 中将数组存储为 NSData

[[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archivedDataWithRootObject:urArray1] forKey:@"Array1"];

[[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archivedDataWithRootObject:urArray2] forKey:@"Array2"];

读作

 NSData *dataRepresentingSavedArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"Array1"];
 if (dataRepresentingSavedArray != nil)
      NSArray *oldSavedArray = [NSKeyedUnarchiver unarchiveObjectWithData:dataRepresentingSavedArray];

关于iphone - 存储多个关联在一起的数组的最佳方式 - Objective C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10532865/

相关文章:

iphone - Xcode 看不到我的 iOS 设备,但 iTunes 可以

iphone - fmdb 在运行更新查询时锁定应用程序

iPhone - URL 表的最佳方法?

ios - 如何检测触摸输入是否与 uiimageview 相交

ios - unity 和 ios - 获取用户的电话号码

iPhone 头脑 Storm - CLLocation 在后台 - 每 15 分钟轮询一次

ios - 2x 从 .xcassets 检索的图像有时会给出 1x

ios - 如何重新加载具有不同行数的 UITableView 部分?

ios - 类设计和委托(delegate)

iphone - Objective-C 字符串格式化