字面量(笑笑语法)

1.NSString *greeting = [NSString
stringWithUTF8String:"hello"];

   NSString *greeting =
@"hello";

 

2.NSArray *array = [NSArray arrayWithObjects:a,b,c,
nil];

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

3.[array
objectAtIndex:1];

   array[1];

4.di = [NSDictionary dictionaryWithObjects:@[1,2,3]
forKeys:@[k1,k2,k3],
nil];

  di =
@{k1:1,k2:2,k3:3}
     @[1,2,3]是一个数组,@[k1,k2,k3]也是一个数组

5.[NSDictionary dictionaryWithObjectsAndKeys:v1,k1,v2,k2
nil];

   @{k1:v1,k2:v2};

6.[dictionary valueForKey:k];

   dictionary[k];

        

语法简化  [ NSNumber ]

1.NSNumber *value;  

value = @12345;  

value = @123.45f;  

value = @123.45;  

value = @YES; 

例子:

int a = 10; 

NSNumber *a1
= [NSNumber numberWithChar:a];

NSNumber *a1
[email protected];

2.[NSArray ] 

NSArray *array;  

array = @[];               //空数组  

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

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

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];  

NSArray  

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

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

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

  

  

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]  

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 }; //包含多个键值对的字典

   

  1.     
  2.     
  3. 4.3 NSDictionary    
  4. NSDictionary *dict;    
  5. dict = @{};     //空字典    
  6. dict = @{ k1 : o1 };     //包含一个键值对的字典    
  7. dict = @{ k1 : o1, k2 : o2, k3 : o3 }; //包含多个键值对的字典    
  8.     
  9.     
  10. 注:对可变的容器,可以用:    
  11. NSMutableArray *mutablePlanets = [@[    
  12.    @"Mercury", @"Venus", @"Earth",    
  13.    @"Mars", @"Jupiter", @"Saturn",    
  14.    @"Uranus", @"Neptune"    
  15.  ] mutableCopy];    
  16.     
  17.     
  18.     
  19.     
  20. 5.对象下标    
  21. 可以通过下标方式存取数组和字典的数据,类似C语言结构    
  22.     
  23.     
  24. 5.1 NSArray    
  25. NSArray *array = @[ a, b, c ];    
  26. id obj = array[i];     //通过下标方式获取数组对象,替换原有写法:array objectAtIndex:i];    
  27. array[i] = newObj;     //也可以直接为数组对象赋值。替换原有写法:[array replaceObjectAtIndex:i withObject:newObj];    
  28.     
  29.     
  30. 5.2 NSDictionary    
  31. NSDictionary *dict = @{ k1 : o1, k2 : o2, k3 : o3 };    
  32. id obj = dict[k2];     //获取o2对象,替换原有写法:[dic objectForKey:k2];    
  33. dic[k2] = newObj;  //重新为键为k2的对象赋值,替换原有写法:[dic setObject:newObj forKey:k2]    
  34.     
  35.     
  36. 6.小结    
  37. @# nsnumbers    
  38. @{} dictionaries    
  39. @“” strings    
  40. @[] arrays    
  41. @() expressions    

@# nsnumbers  

@{} dictionaries  

@“” strings  

@[] arrays  

@() expressions 

  1. 4.3 NSDictionary    
  2. NSDictionary *dict;    
  3. dict = @{};     //空字典    
  4. dict = @{ k1 : o1 };     //包含一个键值对的字典    
  5. dict = @{ k1 : o1, k2 : o2, k3 : o3 }; //包含多个键值对的字典 

字面量(笑笑语法),布布扣,bubuko.com

时间: 2024-10-13 05:12:28

字面量(笑笑语法)的相关文章

字面量(语法糖)

字面量

字面量和构造函数

字面量和构造函数 JavaScript中的字面量模式更加简洁.有表现力,而且在定义对象时不容易出错.本章将会讨论字面量,包括对象.数组和正则表达式字面量,以及为什么字面量要比等价的内置构造函数(如Object().Array()等)要更好.本章还会介绍JSON格式,JSON是使用数组和对象字面量的形式定义的一种数据交换格式.本章还会讨论自定义构造函数,包括如何强制使用new以确保构造函数正确执行. 为了方便使用字面量而不是构造函数,本章还会补充一些知识,比如内置包装构造函数Number().St

3、多用字面量语法,少用与之等价的方法

1.字面字符串 摒弃: NSString *someString = [[NSString alloc] initWithString: @"Effective Objective-C 2.0"]; 提倡: NSString *someString = @"Effective Objective-C 2.0"; 2.字面数值 摒弃: NSNumber *someNumber = [NSNumber numberWithInt: 1]; 提倡: NSNumber *i

第3条:多用字面量语法,少用与之等价的方法

名词翻译: 语法糖(syntactic sugar):是指计算机语言中与另外一套语法等效,但是开发者用起来却更加方便的语法. 语法糖可令程序更易读,减少代码出错机率. 字面数值 NSNumber *number = @1; 字面量数组 NSArray = @[]; @[下标]: //下标访问元素 字面量字典 @{key : value} @[key]; 可变数组与字典 mutArray[1] = ; mutDictionary[key] = ; 注意:用字面量语法创建数组或字典时,若值中有 ni

ios:多用字面量语法

使用字面量语法可以缩减源代码长度,是其更为易读. 注意事项:用字面量语法创建数组时要注意,若数组元素对象中有nil,则会抛出异常.用字面量数组创建数组,其效果等于是先创建了一个数组,然后把方括号内得所有对象都加到这个数组中. 例如: id obj1 = @"obj1"; id obj2 = nil; id obj3 = @"obj3"; NSArray *arrayA = NSArray *arrayA = [NSArray arrayWithObjects:obj

Objective-C字面量语法总结

通常情况下,创建数组,字典的时候需要写一些很长的方法名,今天就总结一下如何使用字面量语法代替这些方法. 1.数值的创建 NSNumber *number1 = [NSNumber numberWithInt:1]; //传统方法 NSNumber *number2 = @1; //字面量创建方法 只用一个@就代替了传统的创建方法,显得优雅整洁. NSNumber *intNumber = @1; NSNumber *floatNumber = @1.5f; NSNumber *boolNumbe

使用字面量语法让iOS代码更漂亮

字面量语法 第一.字面数值 复杂方法: NSNumber *someNumber=[NSNumber numberWithDouble:3.4]; NSLog(@"the value is %@",someNumber); 替代方法: NSNumber *[email protected]; NSNumber *[email protected]; NSLog(@"the value is %@",a); NSLog(@"the value is %@&q

字面量语法的使用--IOS

使用oc时,经常会用到NSString,NSNumber,NSArray,NSDictionary,下面是关于他们的字面量语法的使用. (1)字面数值 有时需要把整数,浮点数,布尔值封入oc对象中 一般写法: NSNumber *num = [NSNumber numberWithInt:1]; 使用字面量语法: NSNumber *num = @1; 其他类型使用字面量语法: NSNumber *[email protected]; NSNumber *[email protected]; N

Vue 字面量语法 vs 动态语法

初学者常犯的一个错误是使用字面量语法传递数值: <!-- 传递了一个字符串 "1" --> <comp some-prop="1"></comp> 因为它是一个字面量 prop,它的值是字符串 "1" 而不是一个数值.如果想传递一个真正的 JavaScript 数值,则需要使用 v-bind,从而让它的值被当作 JavaScript 表达式计算: <!-- 传递真正的数值 --> <comp