zoukankan      html  css  js  c++  java
  • 数组,字典,集合

    1.数组块方法遍历:

     NSArray *myArray = @[@"string 2",@"string 4",@"string 1",@"string 3"];
            [myArray enumerateObjectsUsingBlock:^(__strong id obj, NSUInteger idx, BOOL *stop) {
                NSLog(@"Object = %@",obj);
                if (idx == 2) {
                    *stop = YES;
                    NSLog(@"停止了检索");
                }
            }];

    有三个参数,无返回值

             a. 第一个参数是 id 类型,用来表示每次循环中的枚举的对象。

             b. 第二个参数是 NSUInteger 类型,用来表示当前枚举对象的索引。

             c. 最后一个(还可以有更多个)参数是*BOOL 类型,用来停止枚举。这是一个BOOL 指针,如果你需要继续枚举的话它的值必须为 NO。你可以随时将这个指针的值改为 YES 来停止枚举。可以用这个来在数组中检索一个对象。一旦找到对象马上停止检索 因为如果你经找到那个对象的话就没有指针来继续这个枚举了。

    数组快方法排序:

    NSMutableArray *myArray1 = [NSMutableArray arrayWithArray:myArray];
            [myArray1 sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
                NSString *string1 = (NSString *)obj1;
                NSString *string2 = (NSString *)obj2;
                return [string1 compare:string2];
            }];

    2.字典块方法枚举:

    NSDictionary *person = @{
                                     @"First Name":@"Anthony",
                                     @"Last Name":@"Robbins",
                                     @"Age":@51
                                     };
            [person enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
                NSLog(@"Key = %@,Object For Key = %@",key,obj);
            }];

    3.集合Sets

      Sets 和 array 非常相似.二者最大的区别就是 sets 中相同对象只能被添加一次。当你第 二次添加同一个对象时,sets 会拒绝添加。

      一个 set 不仅仅比较对象在内存中的位置,而且比较这些对象的内容,了解这点非常重要。变量名不一样但内容一样的话,set只能添加一个实例.

  • 相关阅读:
    周易:简易、变易、不易
    2018.net面试题汇总
    关于《推荐系统实践》
    设计模式指引
    facebook的工程开发,不得不佩服
    eclipse自动补全的设置
    数据智慧工程师——计算机和人类之间的中间人——如何从数据中获取有价值的知识
    (移动位置社会网络中)LBSN:好友关系对人类活动的影响分析
    加快软件开发速度,eclipse最常用的快捷键
    人生是一对一的搏斗
  • 原文地址:https://www.cnblogs.com/safiri/p/4010746.html
Copyright © 2011-2022 走看看