• 一个小例子介绍ObjC的函数命名方式


    对于以前做C#或者JAVA开发的朋友而言,初次接触iOS开发,Obj-C的函数命名方式可能会感觉非常不习惯。

    尤其是打开AppDelegate.m,映入眼帘的代码竟然是:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        // Override point for customization after application launch.
        return YES;
    }

    不知道会不会有朋友和我当初同样的感觉——天啊,这也太长了!!!

    其实,在Obj-C中,上面这个函数的函数名应该是:

    - (BOOL)application:didFinishLaunchingWithOptions:

    括号后面跟随的application和launchOptions是在函数内使用的参数。

    我们可以将这个函数解读为“应用程序:完成启动使用选项:”。

    其中“应用程序”冒号后面的参数顾名思义就是应用程序自身。

    而“完成启动使用选项”冒号后面的参数顾名思义就是启动的选项。

    这里我用了两个“顾名思义”,对就是顾名思义!在Obj-C的函数命名的方式有点类似于自然语言,相信大家会像我一样,随着对iOS开发的逐渐深入,会越来越适应甚至喜欢这种命名方式的。

    下面再举一个例子,如果我们在java中定义一个加法的函数,大概会用如下方式:

        /**
         * 计算a+b的结果
         * @param a
         * @param b
         * @return 返回a+b的和
         */
        public int add(int a, int b) {
            return a + b;
        }

    在java中定义函数时,通常我们会习惯编写一个简单的注释,如此一来我们可以在程序的其他位置,利用eclipse的智能提示看到这些参数分别代表什么意思,还可以使用Javadoc工具生成程序文档。这是非常方便而且有意义的!

    而在Obj-C中我们会如何做呢?首先定义一个函数,代码如下:

    - (NSInteger)addA:(NSInteger)a withB:(NSInteger)b {
        return a + b;
    }

    而在调用该函数时,Xcode的提示会大概如下所示:

    [self addA:(NSInteger) withB:(NSInteger)];

    此时,我们可以把这句话解读成“加A和B”,有没有觉得更容易理解一些啊?应该会的,呵呵。

    在Obj-C中,如果养成良好的函数命名习惯。相信随着时间的推移,你会发现,需要写的注释会越来越少。尽管在Xcode中没有类似于eclipse的智能提示,但是这并不会妨碍我们一目了然地看明白每个函数都是做什么的,以及它们都需要什么参数,乃至各个参数都分别应该是什么类型的。

    一起来享受快乐的iOS开发之旅吧~~~


    原创文章,如需转载请注明出处,谢谢!

    欢迎访问本人技术微博 趣味苹果开发 相互交流,共同进步!

    欢迎访问本人新浪微博 可可爸刘凡

    用趣味的心态,开发有趣味的应用!

  • 相关阅读:
    python邮件之附件
    python3.5之smtp
    一台Linux上搭建两个tomcat
    mysql 初探(一)
    python监视mysql最大连接数
    P3658 [USACO17FEB]Why Did the Cow Cross the Road III P cdq分治
    P4793 [AHOI2008]矩形藏宝地 cdq分治 线段树
    P2487 [SDOI2011]拦截导弹 线段树 cdq分治
    P3157 [CQOI2011]动态逆序对 cdq分治
    P4169 [Violet]天使玩偶/SJY摆棋子 cdq分治
  • 原文地址:https://www.cnblogs.com/liufan9/p/2995626.html
Copyright © 2020-2023  润新知