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];
  • 相关阅读:
    HDU2027 统计元音 一点点哈希思想
    湖南工业大学第一届ACM竞赛 数字游戏 字符串处理
    湖南工业大学第一届ACM竞赛 我素故我在 DFS
    HDU3293sort
    HDU2082 找单词 母函数
    HDU1018 Big Number 斯特林公式
    湖南工业大学第一届ACM竞赛 分糖果 位操作
    UVA 357 Let Me Count The Ways
    UVA 147 Dollars
    UVA 348 Optimal Array Multiplication Sequence
  • 原文地址:https://www.cnblogs.com/iOS-dd/p/3796267.html
Copyright © 2011-2022 走看看