Objective-C字面量语法总结
2024-08-30 12:27:57
通常情况下,创建数组,字典的时候需要写一些很长的方法名,今天就总结一下如何使用字面量语法代替这些方法。
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];
最新文章
- 项目编码规范(Ali)
- 装X代码
- WPF 调用WinForm控件
- pstools使用教程
- ***常见复杂SQL语句(含统计类SQL)
- .NET/C# 类构造函数中this的用法 (转)
- Extjs 更新数据集Ext.PagingToolbar的start参数重置的处理
- 【HDU3065】 病毒侵袭持续中(AC自动机)
- iOS上传AppStore被拒原因及处理方案
- mybatis(三)
- MT【324】增量代换
- DevExpress控件库 开发使用经验总结3 制作项目安装包
- Python之socketserver
- app模块设计
- python判断两个变量是否为同一数据类型
- XamarinAndroid组件教程RecylerView适配器使用动画
- Web前端入门教程之浏览器兼容问题及解决方法
- rocketMQ基本架构简介
- tp框架中的一些疑点知识-8
- Arduino和C51开发OLED显示屏
热门文章
- GitHub创建项目入门学习
- redis之(十八)redis的支持水平扩容的集群特性,以及插槽的相关操作
- hdu 1203(01背包)被初始化坑惨了
- python调用.so
- 转载:【知乎Live】狼叔:如何正确的学习Node.js
- 前端读者 | 前端用户体验-UI动效设计
- C/C++ 基础知识
- 洛谷P1491 集合位置 [最短路,SPFA]
- Bzoj3566/洛谷P4284 [SHOI2014]概率充电器(概率dp)
- linux的bash和shell关系