Objective-C字面量语法总结

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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

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

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航