OC–NSMutableDictionary可变字典

  • Post author:
  • Post category:其他


NSMutableDictionary,作为可变字典,其中的可变和可变字符串,可变数组是一样的。NSMutableDictionary是继承自NSDictionary的,所以上一篇文章中的一些属性和方法在这里都是适用的。下面来看看NSMutableDictionary的定义和初始化。

创建可变字典对象,定义并初始化:

定义NSMutableDictionary对象的类方法,

numItems是字典中元素的个数。这个方法其实就是向内存申请了一定的内存空间。


+ (


instancetype


)dictionaryWithCapacity:(


NSUInteger


)numItems;

由于NSMutableDictionary是继承自NSDictionary的,NSDictionary是继承自NSObject的,所以适用alloc也可以创建一个可变字典对象,适用方法如下:


– (


instancetype


)initWithCapacity:(


NSUInteger


)numItems


NS_DESIGNATED_INITIALIZER


;




NSMutableDictionary


*dic1 = [[


NSMutableDictionary




alloc


]


initWithCapacity


:10];




NSMutableDictionary


*dic2 = [[


NSMutableDictionary




alloc


]


init


];

上面两中创建形式的区别在于第一个申请了10个元素的空间,第二个只是创建了一个对象。和数组一样,当我们不知道要申请多少空间的时候。我们可以个

dictionaryWithCapacity:方法或者initWithCapacity:方法传递0作为参数。


可变字典的初始化赋值,是使用NSDictionary的赋值方法。

可变字典常用操作方法

在字典后添加一个字典,也是字典后面拼接一个字典。


– (


void


)addEntriesFromDictionary:(


NSDictionary


<KeyType, ObjectType> *)otherDictionary;


删除字典中所有的元素


– (


void


)removeAllObjects;


根据key数组,删除对应的元素


– (


void


)removeObjectsForKeys:(


NSArray


<KeyType> *)keyArray;


根据key删除一个对应的元素



– (


void


)removeObjectForKey:(KeyType)aKey;

使用一个新的字典覆盖原来字典的数据


– (


void


)setDictionary:(


NSDictionary


<KeyType, ObjectType> *)otherDictionary;


使用key:value形式修改字典中key对应的元素值


– (


void


)setObject:(


nullable


ObjectType)obj forKeyedSubscript:(KeyType <


NSCopying


>)key


NS_AVAILABLE


(10_8, 6_0);

代码示例:




//


创建字典对象,初始化




NSDictionary


*dic1 = [


NSDictionary




dictionaryWithObjectsAndKeys


:




@”value1″


,


@”key1″


,






版权声明:本文为m0_37681833原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。