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

Iphone 为什么可以从NSUserDefaults返回NSMutableArray而不是NSMutableDictionary,iphone,ios,ipad,nsmutablearray,nsuserdefaults,Iphone,Ios,Ipad,Nsmutablearray,Nsuserdefaults,我在iOS 6的NSUserDefaults中保存了几个项目。在过去,我总是使用包含NSMutableDictionary的NSMutableArray来保存一些信息。但现在我决定使用包含NSMutableDictionary的NSMutableDictionary更有效。我希望能够从主NSMutableDictionary中删除字典,并修改存储在子字典中的值 我一直将我的主NSMutableArray存储为: -(NSMutableArray *)listArray { return

我在iOS 6的NSUserDefaults中保存了几个项目。在过去,我总是使用包含NSMutableDictionary的NSMutableArray来保存一些信息。但现在我决定使用包含NSMutableDictionary的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函数。有人能告诉我这是为什么吗???

仅仅因为:D

像这样抄字典

NSMutableDictionary *d = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"bla"].mutableCopy;
只是因为:D

像这样抄字典

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

为什么这个问题会被否决?为什么这个问题会被否决?