iOS开发:Objective-C优雅的语法
2012-11-19 14:36
465 查看
Objective-C语言是iOS平台开发的基础,本文给大家介绍了Objective-C的语法,从函数的角度来看下Objective-C的优雅之处。笔者将自己的一些学习心得分享出来,希望对入门者有所帮助。
对初学者来说,Objective-C存在了很多令人费解的写法,实际上他们是非常优雅的。
程序员写的最多的就是函数以及调用自己写的或者别人写的函数。本文就从函数的角度来看下Objective-C的优雅之处。
C#和Objective-C同属于c系列语言。让我们先看下C#的函数定义和调用,做个对比。
C#函数的定义:
函数的调用:
在让.net程序员看下Objective-C的定义:
如果你第一次看Objective-C,肯定会琢磨不透上面的代码,怀疑是不是写错了。
对于上面这个函数的定义:
1、'-'表示这个函数是实例函数(类似非静态函数),'+'表示这个函数是类函数(类似静态函数)
2、(void)表示这个函数没有返回值。
3、函数名是'doIt:',而不是'doIt'
4、参数用空格隔开
5、参数类型写在括号中
6、参数分内部参数和外部参数,如电影名称,内部参数是:value,外部参数是:movieName
7、函数的一个参数没有外部参数的名称,有内部参数名。如:actorName。
调用:
从上面代码可以看出除了第一个参数,其余的参数都可以加上外部参数名称用于区别。
从上面可以看出Objective-C和C#区别很大,实在会令.net程序员费解。Objective-C函数设计的优雅之处在于即有内部参数名又有外部参数名,可以不用在再内部定义变量来存放函数的参数。
总结:本文是对Objective-C函数学习的一个简单总结
对初学者来说,Objective-C存在了很多令人费解的写法,实际上他们是非常优雅的。
程序员写的最多的就是函数以及调用自己写的或者别人写的函数。本文就从函数的角度来看下Objective-C的优雅之处。
C#和Objective-C同属于c系列语言。让我们先看下C#的函数定义和调用,做个对比。
C#函数的定义:
public void doIt(string actorName, string movieName, int timesSeen) { Console.Write("{0} is my favorite actor in the movie {1}, I saw it {2} times.", actorName, movieName, timesSeen); }
函数的调用:
Class1 objMovie = new Class1(); objMovie.doIt("莱昂纳多·迪卡普里奥", "盗梦空间", 120);
在让.net程序员看下Objective-C的定义:
- (void) doIt:(NSString *) actorName movieName: (NSString*) value timesSeen: (int)times { NSLog(@"%@ is my favorite actor in the movie %@, I saw it %i times.",actorName, value, times); }
如果你第一次看Objective-C,肯定会琢磨不透上面的代码,怀疑是不是写错了。
对于上面这个函数的定义:
1、'-'表示这个函数是实例函数(类似非静态函数),'+'表示这个函数是类函数(类似静态函数)
2、(void)表示这个函数没有返回值。
3、函数名是'doIt:',而不是'doIt'
4、参数用空格隔开
5、参数类型写在括号中
6、参数分内部参数和外部参数,如电影名称,内部参数是:value,外部参数是:movieName
7、函数的一个参数没有外部参数的名称,有内部参数名。如:actorName。
调用:
从上面代码可以看出除了第一个参数,其余的参数都可以加上外部参数名称用于区别。
从上面可以看出Objective-C和C#区别很大,实在会令.net程序员费解。Objective-C函数设计的优雅之处在于即有内部参数名又有外部参数名,可以不用在再内部定义变量来存放函数的参数。
总结:本文是对Objective-C函数学习的一个简单总结
相关文章推荐
- iOS 高级开发技巧 1.熟悉Objective-C (三) 多用字面量语法
- ArcGIS Runtime SDK for iOS开发系列教程(3)——Objective-C语法基础
- iOS开发笔记 之 第1章 Objective-C语法学习
- 从Android到iOS开发——(1)、objective-c与java语法对比
- iOS开发开篇之Objective-C语法基础
- 黑马程序员-iOS基础-Objective-C基础(四)OC开发技巧及核心语法(上)
- 【IOS 开发学习总结-OC-12】★objective-c面向对象之——合成存取方法与点语法
- ArcGIS Runtime SDK for iOS开发系列教程(3)——Objective-C语法基础
- IOS 开发学习(1): 学习纲领以及Objective-C 基本语法学习
- IOS开发——Objective-C语法快速参考
- Objective-C(一、文件扩展名,驼峰标识法,#import与#include,OC弱语法)——iOS开发基础
- 课程分享Objective-C深入浅出,ios开发零基础入门(Xcode入门及语法入门)
- iOS开发 入门学习总结(二)Objective-C 语法特性总结
- IOS开发开篇之Objective-C语法基础
- iOS开发之Objective-C语法之词典对象
- IOS 开发学习(1): 学习纲领以及Objective-C 基本语法学习
- Objective-C(四、属性声明与功能,点语法)——iOS开发基础
- ios开发入门篇(二):Objective-C的简单语法介绍
- ArcGIS Runtime SDK for iOS开发系列教程(0)——PPT分享(iOS历史、Objective-C语法、SDK介绍)
- ios应用开发Objective-C语法快速参考