字面量语法的好处

理解字面量语法

很多人都知道字面量语法(literal syntax),一般用来申明NSNumber、NSArray、NSDictionary类的实例,可以缩减源代码长度,使其更为易读。

举几个例子:

  • NSNumber *someNumber = @1;
  • NSArray *fruit = @[@"apple",@"banana",@"pinch"];
  • NSDictionary *someDic = @{@"name":@"Hugo",@"age":@27,@"phone":@"123456789"};

字面量的好处

  • 数组类型可以进行取下标操作: NSString *apple = fruit[0];
  • 字典类型可以进行取下标操作: NSString *myName = someDic[@"name"];
  • 修改里面的值也一样: fruit[1] = @"pear";    someDic[@"age"]=@28;
  • 最重要一个好处:
    • 对于数组类型
      NSArray arrayA = [NSArray arrayWithObject:object1, object2, object3, nil]; NSArray arrayB = @[object1, object2, object3];
      大家想想:如果object1与object3都指向了有效的Objective-C对象,而object2是nil,那么会出现 什么情况呢?按字面量语法创建数组arrayB时会抛出异常。arrayA虽然能创建出来,但是其中却只含有 object1一个对象。原因在于,“arrayWithObjects:”方法会依次处理各个参数,直到发现nil为止,由 于object2是nil,所以该方法会提前结束。
      这个微妙的差别表明,使用字面量语法更为安全。抛出异常令应用程序终止执行,这比创建好数组之后才发现元素个数少了要好。向数组中插入nil通常说明程序有错,而通过异常可以更快地发现这个错误。
    • 对于字段类型也一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值