ios开发笔记 (1)--数组

来源:互联网 发布:文怡的服装淘宝店网址 编辑:程序博客网 时间:2024/05/14 13:38

数组: 
Cocoa 使用NSArray 表示数组,但是不能存储基本类型、enum、struct、nil,只能存储
Object-c 对象。
1、数组遍历
  NSArray* array=[NSArray arrayWithObjects: @"one",@"Two",@"Three"];//定义数组并赋值
         int count=[array count];
            int i:
          for(i=0;i<count;i++){
            // 遍历数组元素,objectAtIndex 方法获取指定索引位置的元素
          NSLog(@"%@",[array objectAtIndex:i]);
        }

数组迭代器
   NSEnumerator* e=[mArray objectEnumerator];// 获取数组迭代器 ,相当于java中的Iterator
   id obj;
   while(obj=[e nextObject]){
   NSLog(@"%@",obj);
   }
   printf(".............................>>");
   for(NSString *ms in mArray){
    NSLog(@"@%@",ms);
   }
   
  
2、字符串与数组间的处理
 NSString* s=@"iphone,Android,Widowns Phone7";
 NSArray array=[s componentsSeparatedByString:@","];// 用“,”分割,类似于java中的splict
 NSString* s=[array componentsJoinedByString: @" "];//拼接数组元素 按照“”里面的字符


3、数组定义
 NSMutableArray* mArry=[NSMutableArray arrayWithCapacity:10];//定义一个数组并指定数组长度
[mArray addObject: @"Apple"];// 像上面的数组中添加一个元素
[mArray addObject:@"Google"];
[mArray addObject:@"MicroSoft"];
[mArray removeObjectAtIndex: 2];// 移除指定索引位置的数组元素
s=[mArray componentsJoinedbyString: @","];


4、字典(哈希表)
NSDictionary 用于存储key-value 的数据结构,与java中的map类似。
例:
 // dictionaryWithObjectAndKeys后的可变参数,每两个为一个value-key,一nil表示结束。
 NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"Apple",@"A",@"Google",@"G",nil];
 
 长度可变的字典: 
  NSMutableDictionary 
例:
 NSMutableDictionary *mDic=[NSMutableDictionary dictionaryWithCapacity:10 ];
 [mDic setObject:@"Apple" forKey: @"A"];//添加value-key 对
 [mDic setObject:@"Googel" forkey: @"G"]; 
 [mDic removeObjectForKey: @"A"];// 移除指定的key的value
 
 快速迭代for -each 循环
 NSEnumerator *keyEnum=[mDic keyEnumerator];//获取key的枚举器
 id key;
 while(key=[keyEnum nextObject]){
 NSLog(@"%@",key,[mDic objectForKey:key]);


 }
 
 5、哈希 Set
  NSSet表示以hash方式计算存储位置的集合,与java 中的HashSet是一致的。在NSSet中的每个对象都有一个唯一的hash值,重复的对象将只能保留一个。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 





原创粉丝点击