Foundation框架—NSArray、NSSet、NSDictionary、NSNumber、NSDate、NSValue

---NSArray


NSArray:OC数组,它不能存放空值(nil或者0)只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等

1.NSArray的基本操作

1>最简单数组对象的建立

  NSArray *array = [NSArray array];// 这个array永远是空数组

2>一般数组的建立

  传入单个元素:NSArray *array2 = [NSArray arrayWithObject:@"jack"]; 

  传入多个元素:NSArray *array3 = [NSArray arrayWithObjects:@"jack", 
   @"rose",person, nil]; // nil是数组元素结束的标记,在多个元素的情况下如果不加入nil这   
  个元素会报错,并且非最后一个元素不能是nil,否则会提前结束

3>快速创建一个NSArray对象 
  NSArray *array4 = @[@"jack", @"rose", @"4324324"];

4>输出NSArray的元素个数

  NSLog(@"%ld", array3.count);

5>NSArray中元素的访问

  NSLog(@"%@", [array3 objectAtIndex:1]);

  NSLog(@"%@", array3[1]); // 如同C中的数组访问

2.数组的遍历


1>for (int i = 0; i<array.count; i++)
        {
            NSLog(@"%@", array[i]);
        }


2>    int i = 0;
      for (id obj in array)//id obj代表着数组中的每一个元素
        {
           NSUInteger i = [array indexOfObject:obj];// 找出obj元素在数组中的位置
           NSLog(@"%ld - %@", i, obj);
           i++;
           //下面4行代码可以设置停止遍历的条件      
           //if (i==1)
           //{
           // break;
           //}
         }
3>
    // 每遍历到一个元素,就会调用一次block,并且当前元素和索引位置当做参数传给block
    [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop)
     {
         NSLog(@"%ld - %@", idx, obj);
         if (idx == 0) // 可以设置停止遍历的条件
         {// 停止遍历
          *stop= YES;
          }    
     }];


block遍历的原理:


void ^(myblock)(id, NSUInteger, BOOL *) =
^(id obj, NSUInteger idx, BOOL *stop)
{
            NSLog(&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值