码迷,mamicode.com
首页 > 其他好文 > 详细

【黑马程序员】————Foundation框架02常用类—集合类

时间:2014-08-24 17:55:02      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   使用   io   for   ar   div   

NSArray

->NSMutableArray

NSSet

->NSMutableSet

NSDictionary

->NSMutableDictionary

 

1、NSArray/NSMutableArray

 

NSArray :不可变数组
 
NSMutableArray : 可变数组

 

基本使用

 1 void use()
 2 {
 3     /*
 4        C数组对比
 5      int a = 5;
 6      
 7      int ages[10] = {1, 90, 89, 17};
 8      
 9      Person *p = [[Person alloc] init];
10      Person *persons[5] = {p,  [[Person alloc] init]};
11      */
12     
13     // OC数组不能存放nil值
14     // OC数组只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等
15     
16     // 这个array永远是空数组
17     // NSArray *array = [NSArray array];
18     
19     
20     /*
21      1.NSArray的创建
22      */
23     NSArray *array2 = [NSArray arrayWithObject:@"jack"];
24     
25     // nil是数组元素结束的标记
26     NSArray *array3 = [NSArray arrayWithObjects:@"jack", @"rose", nil];
27     // [array2 count];
28     
29     //NSArray *array4 = [NSArray arrayWithObjects:@"jack", @"rose", @"4324324", nil];
30     
31     // 快速创建一个NSArray对象
32     NSArray *array4 = @[@"jack", @"rose", @"4324324"];
33     
34     
35     /*
36      2.NSArray的元素个数
37      */
38     NSLog(@"%ld", array3.count);
39     
40     
41     /*
42      3.NSArray中元素的访问
43      */
44     NSLog(@"%@", [array3 objectAtIndex:1]);
45     
46     //array3[1];
47     NSLog(@"%@", array3[0]);
48 }

 

遍历数组

 1 oid use2()
 2 {
 3     Person *p = [[Person alloc] init];
 4     
 5     NSArray *array = @[p, @"rose", @"jack"];
 6     
 7     //    for (int i = 0; i<array.count; i++)
 8     //    {
 9     //        NSLog(@"%@", array[i]);
10     //    }
11     
12     // id obj代表着数组中的每一个元素
13     //int i = 0;
14     //    for (id obj in array)
15     //    {
16     //        // 找出obj元素在数组中的位置
17     //        NSUInteger i = [array indexOfObject:obj];
18     //
19     //        NSLog(@"%ld - %@", i, obj);
20     //        //i++;
21     //
22     //        if (i==1)
23     //        {
24     //            break;
25     //        }
26     //    }
27     
28     [array enumerateObjectsUsingBlock:
29      
30      // 每遍历到一个元素,就会调用一次block
31      // 并且当前元素和索引位置当做参数传给block
32      ^(id obj, NSUInteger idx, BOOL *stop)
33      {
34          NSLog(@"%ld - %@", idx, obj);
35          
36          
37          if (idx == 0)
38          {
39              // 停止遍历
40              *stop = YES;
41          }
42          
43      }];
44     
45     
46     //    void ^(myblock)(id, NSUInteger, BOOL *) = ^(id obj, NSUInteger idx, BOOL *stop)
47     //    {
48     //        NSLog(@"%ld - %@", idx, obj);
49     //
50     //
51     //        if (idx == 0)
52     //        {
53     //            // 停止遍历
54     //            *stop = YES;
55     //        }
56     //    };
57     //
58     //    for (int i = 0; i<array.count; i++)
59     //    {
60     //        // 用来标记是否需要停止遍历
61     //        BOOL isStop = NO;
62     //
63     //        // 取出元素
64     //        id obj = array[i];
65     //        
66     //        myblock(obj, i, &isStop);
67     //        
68     //        
69     //        if (isStop)
70     //        {
71     //            break;
72     //        }
73     //    }
74 
75 }

 

可变数组的基本使用

 1 void use3()
 2 {
 3     NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil];
 4     
 5     // 添加元素
 6     [array addObject:[[Person alloc] init]];
 7     
 8     [array addObject:@"jack"];
 9     
10     // 删除元素
11     //[array removeAllObjects];
12     // 删除指定的对象
13     // [array removeObject:@"jack"];
14     [array removeObjectAtIndex:0];
15     
16     // 错误写法
17     // [array addObject:nil];
18     
19     
20     NSLog(@"%@", array);
21     
22     NSLog(@"%ld", array.count);
23 }


注意:

 1 void use4()
 2 {
 3    // @[] 只创建不可变数组NSArray
 4     /* 错误写法
 5     NSMutableArray *array = @[@"jack", @"rose"];
 6     
 7     [array addObject:@"jim"];
 8     */
 9     
10     
11     //NSArray *array = @[@"jack", @"rose"];
12 }

 

【黑马程序员】————Foundation框架02常用类—集合类

标签:style   blog   color   os   使用   io   for   ar   div   

原文地址:http://www.cnblogs.com/Jr-711/p/3932927.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!