zoukankan      html  css  js  c++  java
  • 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];
  • 相关阅读:
    [转]PHP学习入门的一些基础知识
    原来我一直徘徊在选择中
    do while循环学习
    C#装箱
    我的新手学习失败之谈
    C#教程第五课:方法
    转.iPhone开发网站、论坛、博客
    数据库作业Email发送
    安装卸载WINDOWS服务
    SQL SERVER 2008 数据库收缩语句
  • 原文地址:https://www.cnblogs.com/iOS-dd/p/3796267.html
Copyright © 2011-2022 走看看