我们学过OC以后(C语言一样有),很多东西是通过点语法来调用的,有人会告诉你,点语法写在左边是setter、写在右边是getter...那么,数组的"array.count"是什么?很显然不是,因为本身count就不是一个属性,而是一个方法。那好了,我们到底怎么理解?先抛下一个疑问,我们来看看语法堂的解释,首先我们给出维基百科的解释,虽然很多废话,但是我还是建议大家看一下:语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。
那我们简单阅读一下就知道其实就是“实际上没有对代码功能没有影响,但是增强我们程序的可读性”的语法。
比如一开始抛出的问题,点语法是什么?它就是语法糖,当编译器执行到array.count的时候,系统会自动的指派编译器去执行一个方法: - (NSUInteger)count;
这个概念还是挺有意思的,点语法的确是方便了编程,OC面向对象编程比面相结构更加方便,也是得益于这种语法糖的设计理念。 |
|