【问题标题】:how to store NSMutableArray in NSUserDefaults如何在 NSUserDefaults 中存储 NSMutableArray
【发布时间】:2011-01-14 10:57:18
【问题描述】:

请告诉我如何将NSMutableArray 存储到NSUserDefaults

我有一个名为 data(NSArray) 的数组。我想将这个数组添加到名为 mArrayNSMutableArray 中。

[mArray addObject:data];
[prefs setObject:mArray forkey:@"test"];
[prefs synchronize];

&想要将mArray 值存储在NSUserDefaults 中。 请告诉我如何存储和检索这些值。 上面的代码只存储最后一个值而不是在NSUserDefaults 中附加值。

谢谢

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:

    你不能。见http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html,特别是:

    从 NSUserDefaults 返回的值 是不可变的,即使你设置了 可变对象作为值。为了 例如,如果您设置一个可变字符串 作为“MyStringDefault”的值, 您稍后检索使用的字符串 stringForKey:将是不可变的。

    相反,对您从 NSUserDefaults 检索到的数组创建一个 mutableCopy,添加您的对象,然后重新设置您的新数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-25
      • 1970-01-01
      相关资源
      最近更新 更多