多用字面量语法,少用与之等价的方法

2015-12-07  本文已影响39人  David_Cap

简介

在编写OC代码的时候,我们经常会用到NSString,NSNumber,NSArray,NSDictionary.... 等Foundation框架的东西。

然后尽量用字面量语法。

例如:

正面教材:
    NSString *someString = @"SomeString"
    NSNumber *someNumber = @1
    
反面教材:
    NSString *someString = [[NSString alloc]initWithFormat:@"SomeString"];
    NSNumber *someNumber = [NSNumber numberWithInt]

字面量数组

不使用字面量语法:

正面教材:
    NSArray *animals = @[@"cat",@"dag",@"mouse",nil]
反面教材:
    NSArray *animals = [NSArray arrayWithObjects:@"cat",@"dag",@"mouse",nil];

这样做的目的,使代码可读性变高。

这里还有一个小差别这俩种方法。

    id object1 = @"SomeString";
    id object2 = nil;
    id object3 = @"SomeString"
    
    NSArray *arrayA = [NSArray arrayWithObjects:object1,object2,object3,nil];
    NSArray *arrayB = @[object1,object2,object3];

这个时候arrayA能正常运行,因为 object2 = nil 所以arrayA 里面只有一个元素(object1),而arrayB就会奔溃。

相比之下,还是arrayB这样的方法比较能直观的发现错误的存在。这也是字面量的一个好处

总结

  1. 应该直接使用字面量方法创建字符串,数值,数组,字典。提高可读性
  2. 应该通过下标了访问数组 -> arrayA[1] = .....
上一篇 下一篇

猜你喜欢

热点阅读