尽量用字面量语法(literal syntax)
OC中的NSString、NSNumber、NSArray、NSDictionary这几个类,在Objective-C 1.0起可以用一种非常简单的方式创建这些类的对象-“字面量语法”。
1.NSString的字面量语法如下:
1 |
|
2.NSNumber的字面量语法如下:
1 |
|
3.NSArray的字面量语法如下:
1 |
|
4.NSDictionary的字面量语法如下:
1 |
|
为什么要说尽量用字面量语法呢?
首先语法更简洁了,这就不用说了。
然后就是另一个原因了:
首先执行下面代码:
1 |
|
你会发现array中只有一个元素,为什么呢,因为obj2是空值arrayWithObjects方法会依次处理各个参数,直到发现nil为止,然而obj2是空值所以方法提前结束了。
下面是另一段代码:
1 |
|
运行之后你就会发现异常了,这是因为字面量语法创建数组时如果有元素是空值会异常。
这就说明,字面量语法更加安全一些,因为这样可以使我们尽早发现这个错误,这时抛出的异常肯定比你以后去找数组为什么少个元素的省力多了。
最后,我们也可以用字面量来创建可变对象,只要copy一份,例如数组:
1 |
|
这样多调了一个方法,多创建一个对象,但是好处还是比缺点多的。
尽量用字面量语法(literal syntax)
https://houboye.github.io/2023/07/20/ios/literal-syntax/