Obj-C的函数命名方式简介

对于以前做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开发之旅吧~~~

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/C/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索函数
, 参数
, return
, application
, xcode obje...
, 冒号
, obj格式简介
方式
函数已经在obj中定义、插花作品命名及简介、函数命名规则、js函数命名规范、函数命名规范,以便于您获取更多的相关知识。

时间: 2024-08-22 14:44:07

Obj-C的函数命名方式简介的相关文章

javascript函数命名的三种方式及区别介绍_基础知识

javascript函数命名的三种方式及区别介绍 第一 复制代码 代码如下: function fn(val1,val2) { alert(val1+val2); } fn(1,2); 第二 复制代码 代码如下: var fn=function() { alert(val1+val2); } fn(1,2); 第三 复制代码 代码如下: var fn=new Function("alert(val1+val2)"); fn(1,2);  上面三种方式逻辑上是等价的,但是还是有点小区别:

游戏-求大神~帮忙改一下。把这串代码改成函数的方式(问题是:用C语言函数制作石头剪刀布)

问题描述 求大神~帮忙改一下.把这串代码改成函数的方式(问题是:用C语言函数制作石头剪刀布) #include #include #include #include void printMenu(void) { printf("tt -------------------------------------------n"); printf("tt| 石头剪刀布游戏 |n"); printf("tt| ---------------------------

浅谈JS函数定义方式的区别_javascript技巧

关于JS的函数定义方式有以下两种: (1)典型的函数声明 function slide(arguments){ //...code } (2)以函数表达式的形式定义函数 var slide = function(arguments){ //...code } 虽然上面两种方式逻辑上是等价的,但是还是有点小区别: 区别一:例一中的函数会在代码执行以前被加载到作用域中,而例二则是在代码执行到那一行的时候才会有定 义: 区别二:函数声明会给函数指定一个名字,而函数表达式则是创建一个匿名函数,然后将这个

《精通Spring MVC 4》——1.4 命令行方式简介

1.4 命令行方式简介 对于钟情于控制台的读者来说,可以采用"curl http://start.Spring.io"的方式.采用这种方式的话,将会需要一些指令,帮助我们组织curl请求. 例如,要生成与之前相同的项目,那么可以输入如下的命令: $ curl http://start.Spring.io/starter.tgz \ -d name=masterSpringMvc \ -d dependencies=web \ -d language=java \ -d JavaVers

SQLServer 表值函数与标量值函数 定义方式与调用区别

sqlserver 表值函数与标量值函数 定义方式与调用区别 sql存储过程经常需要调用一些函数来使处理过程更加合理,也可以使函数复用性更强,不过在写sql函数的时候可能会发现,有些函数是在表值函数下写的有些是在标量值下写的,区别是表值函数只能返回一个表,标量值函数可以返回基类型. 标量值函数创建: create function [dbo].[gooswidth] (     @goodscode varchar(20) ) returns float begin        declare

JS函数定义方式的区别介绍_基础知识

关于JS的函数定义方式有以下两种: (1)典型的函数声明 function slide(arguments){ //...code } (2)以函数表达式的形式定义函数 var slide = function(arguments){ //...code } 虽然上面两种方式逻辑上是等价的,但是还是有点小区别: 区别一:例一中的函数会在代码执行以前被加载到作用域中,而例二则是在代码执行到那一行的时候才会有定 义: 区别二:函数声明会给函数指定一个名字,而函数表达式则是创建一个匿名函数,然后将这个

js函数 执行方式-javascript函数的执行方式?

问题描述 javascript函数的执行方式? javascript函数有哪些执行方式,有高手帮忙总结一下吗? 解决方案 不知道你说的方式按照什么分类,和别的编程语言类似,js的函数从调用方式上分为普通函数和回调函数,从定义方式看,分为命名函数和匿名函数,从调用者来说,分为递归函数和非递归函数. 解决方案二: 匿名(function(i){alert(i)})(11)显示申明的function func(i){alert(i)}func(1)变量式var func=function(i){ale

Linux进程通信(IPC)方式简介

linux下进程间通信的几种主要方式:管道(pipe)和有名管道(FIFO).信号(signal).消息队列.共享内存(shared memory).信号量(semaphore).套接字(socket),本文对这些做简单介绍 进程间通信的目的 数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间. 共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到. 通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(

查询json的数据结构的8种方式简介_基础知识

查询json的数据结构的8种方式: JsonSQL JsonSQL实现了使用SQL select语句在json数据结构中查询的功能.主页:http://www.trentrichardson.com/jsonsql/ 例子: 复制代码 代码如下: jsonsql.query("select * from json.channel.items order by title desc",json); JSONPath JSONPath就像是针对JSON数据结构的XPath.主页:http: