首页 > 代码库 > OC中语法糖,最新语法总结

OC中语法糖,最新语法总结

  1. <span style="font-size:24px;">    1.方法与顺序无关    

  2.         

  3.         

  4.     2.枚举绑定数据类型    

  5.     enum {    

  6.         ObjectiveC,    

  7.         Java,    

  8.         Ruby,    

  9.         Python,    

  10.         Erlang    

  11.     };    

  12.     typedef NSUInteger Language;    

  13.         

  14.         

  15.     3. 属性不用写@synthesize    

  16.         

  17.         

  18.     4.语法简化    

  19.     4.1 NSNumber    

  20.     NSNumber *value;    

  21.     value = @12345;    

  22.     value = @123.45f;    

  23.     value = @123.45;    

  24.     value = @YES;    

  25.         

  26.         

  27.     4.2 NSArray    

  28.     NSArray *array;    

  29.     array = @[];               //空数组    

  30.     array = @[ a ];          //一个对象的数组    

  31.     array = @[ a, b, c ]; //多个对象的数组    

  32.         

  33.         

  34.     4.3 NSDictionary    

  35.     NSDictionary *dict;    

  36.     dict = @{};     //空字典    

  37.     dict = @{ k1 : o1 };     //包含一个键值对的字典    

  38.     dict = @{ k1 : o1, k2 : o2, k3 : o3 }; //包含多个键值对的字典    

  39.         

  40.         

  41.     注:对可变的容器,可以用:    

  42.     NSMutableArray *mutablePlanets = [@[    

  43.        @"Mercury", @"Venus", @"Earth",    

  44.        @"Mars", @"Jupiter", @"Saturn",    

  45.        @"Uranus", @"Neptune"    

  46.      ] mutableCopy];    

  47.         

  48.         

  49.         

  50.         

  51.     5.对象下标    

  52.     可以通过下标方式存取数组和字典的数据,类似C语言结构    

  53.         

  54.         

  55.     5.1 NSArray    

  56.     NSArray *array = @[ a, b, c ];    

  57.     id obj = array[i];     //通过下标方式获取数组对象,替换原有写法:array objectAtIndex:i];    

  58.     array[i] = newObj;     //也可以直接为数组对象赋值。替换原有写法:[array replaceObjectAtIndex:i withObject:newObj];    

  59.         

  60.         

  61.     5.2 NSDictionary    

  62.     NSDictionary *dict = @{ k1 : o1, k2 : o2, k3 : o3 };    

  63.     id obj = dict[k2];     //获取o2对象,替换原有写法:[dic objectForKey:k2];    

  64.     dic[k2] = newObj;  //重新为键为k2的对象赋值,替换原有写法:[dic setObject:newObj forKey:k2]    

  65.         

  66.         

  67.     6.小结    

  68.     @# nsnumbers    

  69.     @{} dictionaries    

  70.     @“” strings    

  71.     @[] arrays    

  72.     @() expressions  </span>