为什么我可以从NSUserDefaults返回一个NSMutableArray,而不是一个NSMutableDictio



我在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做同样的事情,但没有getter函数像'mutableDictionaryValueForKey'存在。有人能告诉我这是为什么吗?

仅仅因为:D

像这样复制字典

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

最新更新