字典

字典:
1,字典是一种数据结构,是以键值对的形式来存储数据
2,字典中的键值对可以是任意类型的对象,但是key一般是字符串
3,键在字典中是唯一存在的
4,字典中,键值对是没有顺序的



 <1>创建方法
(1) 从Xcode4.6 以后允许用下述方式创建一个字典
      NSDictionary* dic4 = @{@"1":@"one",@"2":@"two",@"3":@"three};    
(2) //实例化方法
     - (id)initWithObjectsAndKeys:(id)firstObject, …;
(3) 用一个字典来创建一个新的字典
     -(id)initWithDictionary(NSDictionary*)otherDictionary;
 (4)用两个数组来创建字典,一个数组中装的是所有的键 另外一个数组装的是所有的值,两个数组的长度必须相等
    NSArray* valueArray =@[@"one",@"two",@"three"];
    
NSArray* keyArray = @[@"1",@"2",@"3"];
    
NSDictionary* dict3 = [[NSDictionaryalloc]initWithObjects:valueArrayforKeys:keyArray];

 (5)该创建方式携带的参数是值键排列
系统会将奇数个元素作为值,偶数个元素作为键来创建字典
   
NSDictionary* dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",nil];

  //
类方法创建
 (6) + (id)dictionaryWithObjectsAndKeys:(id)firstObject, ...;
 (7) + (
id)dictionaryWithDictionary:(NSDictionary*)dict;

  <2>
获取键值对个数
  - (
NSUInteger)count;

  <3>
根据key获取相应的值
  - (
id)objectForKey:(id)aKey;

  <4>
获取字典中所有的key
  - (
NSArray*)allKeys;

  <5>
获取值是anObject的所有的key
  - (
NSArray*)allKeysForObject:(id)anObject; 
  
  <6>
获取字典中所有的值
  - (
NSArray*)allValues;

  <7>如何遍历字典
         枚举遍历
        NSEnumerator* enu = [dic keyEnumerator];
        
NSString* str;
        
while((str = [enu nextObject])!= nil) {
           
NSLog(@"%@",[dicobjectForKey:str]);
         }
   //
通过字典的keyEnumerator方法返回一个枚举器,这个枚举器中装得是字典的Key,遍历这些Key ,通过key 去获取value

快速遍历
for  in循环:
     NSDictionary* dic = @{@"1":@"one",@"2":@"two",@"3":@"three",@"4":@"four"};
     
for (NSString * key in dic) {
          
           
NSLog(@"%@",[dicobjectForKey:key]);
     }




二.可变字典
<1>增加键值对
[muDic setObject:@"one"forKey:@"1"];
//如果Key 是存在的,就修改key 所对应的value 的值,如果不存在,就添加一个键值对

//增加整个字典
- (void)addEntriesFromDictionary:(NSDictionary*)otherDictionary;

<2>
删除键值对
//通过key 去删除key所对应的键值对
      [muDic removeObjectForKey:@"5"];
       
//把所有想删除的键值对的key都放到一个数组中,通removeObjectsForKeys删除所有数组中key 对应的键值对
     
NSArray* keyArray = @[@"1",@"3"];
      [muDic
removeObjectsForKeys:keyArray];

//删除所有的键值对
        [muDic
removeAllObjects];

<3>修改键值对
[muDic setValue:@"five"forKey:@"4"];
//如果Key 是存在的,就修改key 所对应的value 的值,如果不存在,就添加一个键值对

//修改整个字典
  - (
void)setDictionary:(NSDictionary*)otherDictionary; 


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lpfdUserName/article/details/51558174
个人分类: OC
上一篇判别对象类型
下一篇Objective-C 数字对象 (NSNumber)
想对作者说点什么? 我来说一句

超级字典爆破字典

2017年09月17日 1.13MB 下载

五笔字典,拼音五笔字典

2010年08月28日 4.02MB 下载

字典排序字典c++写的

2011年04月21日 626B 下载

弱口令字典

2018年07月12日 10.73MB 下载

五笔字典五笔字典五笔字典

2008年11月28日 442KB 下载

手机病毒的传播模型资料

2011年05月09日 13.74MB 下载

GIS字典 GIS字典 GIS字典

2010年03月22日 230KB 下载

3389爆破字典

2011年11月12日 12KB 下载

OA27字典OA27字典

2009年04月04日 22KB 下载

没有更多推荐了,返回首页

关闭
关闭