@字面量语法的使用及优点

本文介绍了Objective-C中字面量语法的使用方法及其优势,包括字符串、数值、数组及字典的创建,并讨论了其局限性和错误检测能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     对于做ios的小伙伴来说,或许会经常看到这样的语法: NSArray *ary = @[a1,a2,a3];这就是字面量语法了

   神马是字面量语法呢?

     字面量语法,是从objective-c 1.0开始有的,是一种不需要写alloc及init方法来分配并初始化对象的语法,通俗一点就是可以通过字面的文字,一眼可以看出这个对象是什么。

   字面量的使用

      并不是所有的对象都可以用字面量来创建,只有以下类可以使用:NSString,NSNumber,NSArray,NSDictionary
      举例:
      NSString *string = @" 字面量语法";

      字面数值

      如果我们要创建一个整形的NSNumber类型对象,常规写法
       NSNumber *number = [NSNumber numberWithInt:1];
       如果我们使用字面量语法:
      NSNumber *number = @1;
      2种语法对比,是不是字面量语法更要简洁,没有多余的语法,只包含数值,而且一看可以看出这是个什么类型的数字
     NSNumber所有类型都可以使用这个语法,例如:
      NSNumber *intNumber = @1;
      NSNumber *floatNumber = @2.5f;
      NSNumber *doubleNumber = @23.5321;
      NSNumber *boolNumber = @YES;

      字面量数组

      NSArray *array = [NSArray arrayWithObjects:@"cat",@"dog",@"apple",nil];
      上面是常规写法,现在用字面量写法:
      NSArray *array = @[@"cat",@"dog",@"apple"];
      除写法更加简洁了外,用字面量语法创建数组还有一个好处,可以有效的检查出nil对象。举例说明:  

    id obj1 =@"abc";

    id obj2 =nil;

    id obj3 =@"def";

    NSArray *arrayA = [NSArrayarrayWithObjects:obj1,obj2,obj3,nil];

        NSLog(@"%@",arrayA);

        我们打印发现,控制台只显示abc,这是因为arrayWithObjects:方法会依次处理各个参数,遇到nil便终止。

        现在我们用字面量语法

        NSArray *arrayB = @[obj1,obj2,obj3];

        NSLog(@"%@",arrayB);

       现在我们运行程序,这时候大家会发现,报错了~~

    

            
       意思是说我们插入了一个无效的对象
     怎么样,这个时候大家就知道有异常,能很快的去查找错误了。使用字面量创建数组,更加安全,可以及时让我们发现错误~~
    

     字典也可以用字面量语法

       NSDictionary *dic =@{@"key1": @"obj1",

          @"key2":@"obj2",

  @"key3":@"obj3"};

       同样的字面量语法创建字典,也可以有效的发现nil对象。

  

       局限性

        字面量语法有个小小的局限性,就是除了字符换以外,所创建出来的对象必须属于Foundation框架才行。不过综述,字面量语法所带来的好处多余上述缺点的,可以有效的提高我们编程效率。
   
      ps:纯手敲啊~好累难过,希望这篇文章能对你有帮助




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值