首页  >  问答  >  正文

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

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

ringa_leeringa_lee2711 天前852

全部回复(2)我来回复

  • 天蓬老师

    天蓬老师2017-04-21 11:19:18

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

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

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-21 11:19:18

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

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

    回复
    0
  • 取消回复