objective-c - NSArray 对象里存储的元素为什么可以通过“数组下标”进行访问?

浏览:42日期:2023-12-20

问题描述

NSArray 不是OC里的内置数据类型,只是Cocoa库中的一个常用类。那么用objectAtIndex方法,通过传入index参数进行访问NSArray里的元素,例如[arr objectAtIndex:5]即调用方法,这是可以理解的。但是arr[5]这种写法,为什么是属于合法的呢?按理说NSArray不是语言层的东西,应该是更高层级的,怎么还能有特殊的方法调用?

问题解答

回答1:

这是Objective-c LLVM 4.0 的新特性。

推荐参考文章:http://blog.csdn.net/kindazrael/article/details/8091201

回答2:

所谓的语法糖,让程序员写起来更方便,几乎所有的主流编程语言都支持这样的特性,而不是说高级不高级的问题,难道越高级就该越麻烦?没有这样的道理。

再进一步,objectAtIndex和语法糖的作用有区别吗,最终计算机看到的是0和1,所以还有什么不是语法糖呢?

相关文章: