|
|
51CTO旗下网站
|
|
移动端

iOS开发:Objective-C优雅的语法

Objective-C语言是iOS平台开发的基础,本文给大家介绍了Objective-C的语法,从函数的角度来看下Objective-C的优雅之处。笔者将自己的一些学习心得分享出来,希望对入门者有所帮助。

作者:朱祁林来源:博客园|2011-04-08 10:51

【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

对初学者来说,Objective-C存在了很多令人费解的写法,实际上他们是非常优雅的。

程序员写的最多的就是函数以及调用自己写的或者别人写的函数。本文就从函数的角度来看下Objective-C的优雅之处。

C#和Objective-C同属于c系列语言。让我们先看下C#的函数定义和调用,做个对比。

C#函数的定义:

  1. public void doIt(string actorName, string movieName, int timesSeen)  
  2.         {  
  3.             Console.Write("{0} is my favorite actor in the movie {1}, I saw it {2} times.", actorName, movieName, timesSeen);  
  4.         } 

函数的调用:

  1. Class1 objMovie = new Class1();  
  2.             objMovie.doIt("莱昂纳多·迪卡普里奥""盗梦空间", 120); 

在让.net程序员看下Objective-C的定义:

  1. - (void) doIt:(NSString *) actorName movieName: (NSString*) value timesSeen: (int)times {  
  2.                 NSLog(@"%@ is my favorite actor in the movie %@, 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函数设计的优雅之处在于即有内部参数名又有外部参数名,可以不用在再内部定义变量来存放函数的参数。

总结:本文是对Objective-C函数学习的一个简单总结。

【编辑推荐】

  1. iOS高效开发必备的10款Objective-C类库
  2. C++开发者快速学习Objective-C语言核心语法
  3. Objective-C基础语法快速入门
  4. iPhone开发入门守则:Objective-C编码规范
  5. 苹果未来两周将发iOS 4.3.2版操作系统
【责任编辑:小野 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

287人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

Solaris 内核结构(第2版)

本书描述了Solaris 10和OpenSolaris内核中所有主要子系统的算法和数据结构,对第1版进行了大幅修订,加入了很多新的内容。全书从头到尾都采...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客