美文网首页
多用字面量语法,少用与之等价的方法

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

作者: David_Cap | 来源:发表于2015-12-07 11:59 被阅读39次

    简介

    在编写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] = .....

    相关文章

      网友评论

          本文标题:多用字面量语法,少用与之等价的方法

          本文链接:https://www.haomeiwen.com/subject/nvlehttx.html