iOS开发Objective-C基础语法简介

  • 格式:docx
  • 大小:67.40 KB
  • 文档页数:3

iOS开发Objective-C基础语法简介自苹果机在国内以迅猛速度发展以来,iOS开发工程师数量明显增多,这是市场的需求,也是iOS开发者的机会,然而对初学者来说,iOS开发里涉及到的语言如Objective-C存在了很多令人费解的写法,实际上他们是非常优雅的。

程序员写的最多的就是函数以及调用自己写的或者别人写的函数。

本文就从函数的角度来看下Objective-C的优雅之处。

C#和Objective-C同属于c系列语言。

让我们先看下C#的函数定义和调用,做个对比。

C#函数的定义:
1.public void doIt(string actorName, string movieName, i
nt timesSeen)
2. {
3. Console.Write("{0} is my favorite actor in the m
ovie {1}, I saw it {2} times.", actorName, movieName, ti
mesSeen);
4. }
函数的调用:
1.Class1 objMovie = new Class1();
2. objMovie.doIt("莱昂纳多·迪卡普里奥", "盗梦空间
", 120);
在让.net程序员看下Objective-C的定义:
1.- (void) doIt:(NSString *) actorName movieName: (NSS
tring*) value timesSeen: (int)times {
2. NSLog(@"%@ is my favorite actor in the mo
vie %@, I saw it %i times.",actorName, value, times);
3. }
如果你第一次看Objective-C,肯定会琢磨不透上面的代码,怀疑是不是写错了。

对于上面这个函数的定义:
1、'-'表示这个函数是实例函数(类似非静态函数),'+'表示这个函数是类函数(类似静态函数)
2、(void)表示这个函数没有返回值。

3、函数名是'doIt:',而不是'doIt'
4、参数用空格隔开
5、参数类型写在括号中
6、参数分内部参数和外部参数,如电影名称,内部参数是:value,外部参数是:movieName
7、函数的一个参数没有外部参数的名称,有内部参数名。

如:actorName。

调用:
从上面代码可以看出除了第一个参数,其余的参数都可以加上外部参数名称用于区别。

从上面可以看出Objective-C和C#区别很大,实在会令.net程序员费解。

Objective-C函数设计的优雅之处在于即有内部参数名又有外部参数名,可以不用在再内部定义变量来存放函数的参数。