字面量语法优势是更简洁,解决啦Objective-C里声明初始化的又长又多的代码,不易解读。
字面量语法本质就是一种语法糖,能实现这种简洁的写法背后就是让编译器去转换Objective-C对应的标准代码。
字面量语法的局限性:就是除了字符串以外,所创建出来的对象必须属于Foundation框架才行。如果自定义了这些类的子类,则无法用字面量语法创建其对象。
字面符串
NSString *someString=@“Effective Objective-C 2.0”;
字面数值
NSNumber *someNumber=@1;
字面量数组
NSArray *animals=@{@“cat”,@“dog”}
字面量字典
NSDictionary *personData =@{@“firstName”:@“Matt”};
ps:字典和数组有个小特性
用字面量创建的会因数据里含有nil报异常
而标准方法创建的不会报错,而且还会根据顺序,当读到nil的数据时,nil以下的那些数据将被过滤掉,读不到。
建议:
1,应该使用字面量语法来创建字符串,数值,数组,字典。与创建此类对象的常规方法相比,这么做更加简明扼要。
2,应该通过取下标操作来访问数组下标或字典中的键所对应的元素。
3,用字面量语法创建数组或字典时,若值中有nil,则会抛出异常。因此,务必确保值里不含nil。