zoukankan      html  css  js  c++  java
  • OC中语法糖,最新语法总结

    <span style="font-size:24px;">    1.方法与顺序无关  
          
          
        2.枚举绑定数据类型  
        enum {  
            ObjectiveC,  
            Java,  
            Ruby,  
            Python,  
            Erlang  
        };  
        typedef NSUInteger Language;  
          
          
        3. 属性不用写@synthesize  
          
          
        4.语法简化  
        4.1 NSNumber  
        NSNumber *value;  
        value = @12345;  
        value = @123.45f;  
        value = @123.45;  
        value = @YES;  
          
          
        4.2 NSArray  
        NSArray *array;  
        array = @[];               //空数组  
        array = @[ a ];          //一个对象的数组  
        array = @[ a, b, c ]; //多个对象的数组  
          
          
        4.3 NSDictionary  
        NSDictionary *dict;  
        dict = @{};     //空字典  
        dict = @{ k1 : o1 };     //包括一个键值对的字典  
        dict = @{ k1 : o1, k2 : o2, k3 : o3 }; //包括多个键值对的字典  
          
          
        注:对可变的容器,能够用:  
        NSMutableArray *mutablePlanets = [@[  
           @"Mercury", @"Venus", @"Earth",  
           @"Mars", @"Jupiter", @"Saturn",  
           @"Uranus", @"Neptune"  
         ] mutableCopy];  
          
          
          
          
        5.对象下标  
        能够通过下标方式存取数组和字典的数据。相似C语言结构  
          
          
        5.1 NSArray  
        NSArray *array = @[ a, b, c ];  
        id obj = array[i];     //通过下标方式获取数组对象,替换原有写法:array objectAtIndex:i];  
        array[i] = newObj;     //也能够直接为数组对象赋值。替换原有写法:[array replaceObjectAtIndex:i withObject:newObj];  
          
          
        5.2 NSDictionary  
        NSDictionary *dict = @{ k1 : o1, k2 : o2, k3 : o3 };  
        id obj = dict[k2];     //获取o2对象,替换原有写法:[dic objectForKey:k2];  
        dic[k2] = newObj;  //又一次为键为k2的对象赋值。替换原有写法:[dic setObject:newObj forKey:k2]  
          
          
        6.小结  
        @# nsnumbers  
        @{} dictionaries  
        @“” strings  
        @[] arrays  
        @() expressions  </span>

  • 相关阅读:
    Leetcode 15
    setjmp和longjmp重复使用的问题
    linux的下两种定时器实现
    linux中的信号处理
    【推荐软件】ack
    《代码大全》阅读心得二
    更换svn diff为vimdiff
    unpack的一点使用问题
    【lua】table是否为空的判断
    vi复制部分字符
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5250924.html
Copyright © 2011-2022 走看看