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

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];

最新文章

  1. 项目编码规范(Ali)
  2. 装X代码
  3. WPF 调用WinForm控件
  4. pstools使用教程
  5. ***常见复杂SQL语句(含统计类SQL)
  6. .NET/C# 类构造函数中this的用法 (转)
  7. Extjs 更新数据集Ext.PagingToolbar的start参数重置的处理
  8. 【HDU3065】 病毒侵袭持续中(AC自动机)
  9. iOS上传AppStore被拒原因及处理方案
  10. mybatis(三)
  11. MT【324】增量代换
  12. DevExpress控件库 开发使用经验总结3 制作项目安装包
  13. Python之socketserver
  14. app模块设计
  15. python判断两个变量是否为同一数据类型
  16. XamarinAndroid组件教程RecylerView适配器使用动画
  17. Web前端入门教程之浏览器兼容问题及解决方法
  18. rocketMQ基本架构简介
  19. tp框架中的一些疑点知识-8
  20. Arduino和C51开发OLED显示屏

热门文章

  1. GitHub创建项目入门学习
  2. redis之(十八)redis的支持水平扩容的集群特性,以及插槽的相关操作
  3. hdu 1203(01背包)被初始化坑惨了
  4. python调用.so
  5. 转载:【知乎Live】狼叔:如何正确的学习Node.js
  6. 前端读者 | 前端用户体验-UI动效设计
  7. C/C++ 基础知识
  8. 洛谷P1491 集合位置 [最短路,SPFA]
  9. Bzoj3566/洛谷P4284 [SHOI2014]概率充电器(概率dp)
  10. linux的bash和shell关系