Objective-C中的语法糖

526 查看

写这篇博客源于一个疑问:“WoK~, 这也行?!”。刚接触OC不久,今天做深浅拷贝的测试,无意中把获取NSArray的值写成了用下标获取的方式。当时把注意力放在了深浅拷贝的内存地址分析上了,就没太在意,测试做完啦,在回顾的时候发现数组是用下标的方式获取的! 于是就有了个疑问,在OC中这样写也行?不是NSArray中有一个方法叫做objectAtIndex来专门获取数组的元素嘛,嗯~用下标也行?此时心里窃喜,可以简化一下数组访问元素的方式了,又可以偷懒啦!!为了更好的偷懒,于是去百度上Google啦一下这是‘ Xcode 4.4中LLVM compiler 4.0’ 引入的新特性(2012年WWDC发布的东西)。到这小菜本人就有柳暗花明又一村的感觉啦~就可以好好的偷一下懒啦~于是系统的总结了一下引入的新的特性,话不多说,Coder说话哪能少的了code呢!ludashi~走起~(虽然是12年的东西,这不刚学蛮~在OC中用感觉挺新鲜的,简化后对字典的初始化感觉和PHP有点相似~感觉见到亲人啦~)

问题是数组引起的那么就从数组开始吧

1.一般数组的初始化和访问数组元素是这样的

在之前的博客中我是这样初始化NSArray的:

获取数组的元素

简化后的数组初始化和访问的做法如下

2.对字典(NSDictionary)的简化

也引用我之前博客中得一段代码吧

我们还可以这样做

3.对NSNumber简化

我们可以这样做

我们也可以这样做,说明:在char转换为NSNumber是存的是ASCII码的形式,c输出为97