Objective-C字面量语法总结

  通常情况下,创建数组,字典的时候需要写一些很长的方法名,今天就总结一下如何使用字面量语法代替这些方法。

1、数值的创建

    NSNumber *number1 = [NSNumber numberWithInt:1]; //传统方法

    NSNumber *number2 = @1;                         //字面量创建方法

  只用一个@就代替了传统的创建方法,显得优雅整洁。

    NSNumber *intNumber     = @1;
    NSNumber *floatNumber   = @1.5f;
    NSNumber *boolNumber    = @YES;
    NSNumber *charNumber    = @‘b‘;

  

2、数组的创建

    NSArray *fruits = [NSArray arrayWithObjects:@"apple",@"orange",@"pear",nil];  
    NSArray *fruitss = @[@"apple",@"orange",@"pear"];    //使用[]创建数组

若用字面量创建数组的时候元素出现nil的时候,会抛出异常,程序终止执行。而传统创建数组则不会报错,创建数组的时候依次处理元素知道nil为止,所以我们能够提前发现错误,用字面量创建数组更加安全。

3、字典的创建

 NSDictionary *userNameDic = [NSDictionary dictionaryWithObjectsAndKeys:@"mu",@"firstName",@"tou",@"lastName",nil];
 NSDictionary *userNameDicc = @{@"firstName":@"mu",@"lastName":@"tou"};

可以看出,新语法创建的字典,比较符合人们的阅读习惯key在左,value在右,不过创建字典的时候需要注意的是,键和值必须是对象,不能把c语言的类型放进去,应该转变为NSNumber后存入。

访问字典值的方法

NSString *lastName = [userNameDic objectForKey:@"lastName"];NSString *lastName = userNameDicc[@"lastName"];

4、使用字面量语法创建的的对象都是不可变的,如果需要变成可变对象,需要做如下转换

NSMutableArray *fruits = [@[@"apple",@"orange",@"pear"] mutableCopy];

Objective-C字面量语法总结

时间: 2024-08-04 17:01:55

Objective-C字面量语法总结的相关文章

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

使用字面量语法让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

ES6模板字面量

前面的话 JS 的字符串相对其他语言来说功能总是有限的,事实上,ES5中一直缺乏许多特性,如多行字符串.字符串格式化.HTML转义等.ES6通过模板字面量的方式进行了填补,模板字面量试着跳出JS已有的字符串体系,通过一些全新的方法来解决类似的问题.本文将详细介绍ES6模板字面量 基本用法 模板字面量是增强版的字符串,它用反引号(`)标识 let message = `Hello world!`; console.log(message); // "Hello world!" conso

Objective-C 之 Literals(字面量)

今天整理一下关于Objective-C Literals的内容,Literals翻译成字面量或者字面值,就是直接被写到源代码中的值.这不是一个陌生的概念,我们在写程序的时候能频繁的见到.我们很早就见过NSString 字面量了: NSString *greeting = @"Hello World"; 它的语法很简单,上面的代码就是通过在C字符串的前面加上@符号创建了一个NSString对象greeting,整段代码看起来简洁易懂,如果没有直接量语法,那么创建这个greeting可能就

ISO/IEC 9899:2011 条款6.4.5——字符串字面量

6.4.5 字符串字面量 语法 1.string-literal: encoding-prefixopt    "  s-char-sequenceopt  " encoding-prefix: u8 u U L s-char-sequence: s-char: s-char-sequence    s-char s-char: 源字符集中的任一成员,除了双引号 " ,倒斜杠 \ ,或换行字符 escape-sequence 约束 2.毗邻的字符串字面量标记的一个序列不应该同