为什么我可以从NSUserDefaults返回NSMutableArray而不是NSMutableDictionary

时间:2012-12-28 00:09:29

标签: iphone ios ipad nsmutablearray nsuserdefaults

我在iOS 6中的NSUserDefaults中保存了几个项目。过去我一直使用包含NSMutableDictionaries的NSMutableArray来保存一些信息。但现在我已经决定使用包含NSMutableDictionaries的NSMutableDictionary会更有效。我希望能够从主NSMutableDictionary中删除字典并修改存储在子字典中的值。

我一直把我的主要NSMutableArray存储为:

-(NSMutableArray *)listArray
{
    return [[NSUserDefaults standardUserDefaults] mutableArrayValueForKey:@"list_array"];
}

-(void) setDeviceListArray:(NSMutableArray *)listArray
{

    [[NSUserDefaults standardUserDefaults] setObject:listArray forKey:@"list_array"];
}

我会对NSMutableDictionary做同样的事情但是没有像'mutableDictionaryValueForKey'这样的getter函数存在。有人能告诉我为什么这是??

1 个答案:

答案 0 :(得分:3)

只是因为:D

像这样复制字典

NSMutableDictionary *d = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"bla"].mutableCopy;