一、字面数值
需要把整数、浮点数、布尔值封入到对象里。通常情况下会用到如下方法:
NSNumber *number = [NSNumber numberWithInt:8];
使用字面量语法后,不仅语法更简洁,还有很多好处。
NSNumber *number = @(8);
能够用以NSNumber实例表示的所有数据类型,都可以使用字面量语法。。。
二、字面量数组
数组的常用创建方法如下:
NSArray *array = [NSArray arrayWithObjects:@"obj1", @"obj2", nil];
而使用字面量语法则是:
NSArray *array = @[@"obj1", @"obj2"];
数组的取下标也有字面量语法:
NSString *obj = [array objectAtIndex:1];
使用字面量:
NSString *obj = array[1];
不过使用字面量数组时,要注意不要把nil加入到数组中,否则会抛出异常。
三、字面量字典
常用创建方式如下:
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"obj1", @"value1", @"obj2", @"value2", nil];
而使用字面量语法,就比较简洁了。
NSDictionary *dictionary = @{@"obj1": @"value1",
@"obj1": @"value1"};
字面量语法清晰表示出了,key和value的一一对应关系。但是与数组一样,字面量字典的value不能为nil,否则会出现异常。
四、字面量可变数组与字典
对于可变的数组与字典,同样可以使用自变量语法对自变量数组,字典进行操作。
NSMutableDictionary *mutableDictionary = [NSMutableDictionary dictionaryWithDictionary:@{@"obj1": @"value1",
@"obj1": @"value1"}];
mutableDictionary[@"obj3"] = @"value3";