浅谈Objective-C基本语法

移动开发 iOS
Objective-C基本语法是本文要介绍的内容,对初学者来说,objective-c存在了很多令人费解的写法,实际上他们是非常优雅的。

Objective-C基本语法 是本文要介绍的内容,对初学者来说,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);  

函数的调用:  

  1. Class1 objMovie = new Class1(); 

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

在让.net程序员看下objective-c的定义:

  1. - (void) doIt:(NSString *) actorName movieName: (NSString*) value timesSeen: (int)times   
  2. {   
  3. NSLog(@"%@ is my favorite actor in the movie %@, I saw it %i times.",actorName, value, times);   

如果你***次看objective-c,肯定会琢磨不透上面的代码,怀疑是不是写错了。 

对于上面这个函数的定义:

1、'-'表示这个函数是实例函数(类似非静态函数),'+'表示这个函数是类函数(类似静态函数)

2、(void)表示这个函数没有返回值。

3、函数名是'doIt: movieName: timesSeen:',而不是'doIt'

4、参数用空格隔开

5、参数类型写在括号中

6、参数分内部参数和外部参数,如电影名称,内部参数是:value,外部参数是:movieName,如图:

浅谈Objective-C基本语法

7、函数的一个参数没有外部参数的名称,有内部参数名。如:actorName。

调用,如图:

浅谈Objective-C基本语法

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

从上面可以看出objective-cC#区别很大,实在会令.net程序员费解。objective-c函数设计的优雅之处在于即有内部参数名又有外部参数名,可以不用在再内部定义变量来存放函数的参数。

小结:浅谈Objective-C基本语法的内容介绍完了,本篇文章是对objective-c函数学习的一个简单总结,***希望本文对你有所帮助!

责任编辑:zhaolei 来源: 博客园
相关推荐

2011-08-04 11:15:46

Objective-C 构造函数 构造方法

2011-08-04 09:35:09

Objective-C 编码规范

2011-08-03 16:55:05

Objective-C 代理

2011-05-11 13:54:08

Objective-C

2014-04-30 10:16:04

Objective-CiOS语法

2011-08-03 15:51:48

Objective-C 协议 委托

2011-07-18 16:36:51

Objective-C XCode

2010-11-04 16:32:00

Objective-C

2011-04-08 10:51:17

Objective-CiOS

2011-07-28 18:11:18

Objective-C Cocoa 编程

2011-08-17 11:15:22

Objective-C语法

2015-11-02 10:13:41

iOSObjective-C语法

2011-08-09 15:53:28

2011-07-06 11:19:45

Objective-C

2011-08-10 18:07:29

Objective-C反射

2013-03-27 12:54:00

iOS开发Objective-C

2013-06-20 10:40:32

Objective-C实现截图

2011-05-11 11:20:26

Objective-C

2011-05-11 15:58:34

Objective-C

2011-08-10 19:16:50

Objective-C变量
点赞
收藏

51CTO技术栈公众号