对付以前做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开拓之旅吧~~~
查察本栏目