A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© QQ2544 中级黑马   /  2015-8-7 17:24  /  587 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

这个概念还是挺有意思的,点语法的确是方便了编程,OC面向对象编程比面相结构更加方便,也是得益于这种语法糖的设计理念。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马