方法与函数的解释
- 类似于C语言中学习的函数称之为函数,例如:
void text() { //函数 } - 在OC的类中写的方法叫做方法,例如:
- (void)text { //方法 }
相同点
- 都是用来封装一段代码,表示一个相对独立的功能。
- 被调用时,方法和函数内的代码都会自动执行。
不同点
-
语法差异
- 方法
//返回值类型 函数名(参数类型 参数名) void text(int a){ //内容 } - 函数
//- (返回值类型)方法名:(参数类型)参数名 - (void)text:(int)a{ //内容 }
- 方法
-
定义位置不同
- 方法只能声明在
@interface的大括弧外面,实现在@implementation之中。 - 函数除了其他函数或方法内部和
@interface的大括弧中,其他的地方都可以写。
- 方法只能声明在
-
调用方法不同
- 函数可以直接调用
text(); - 方法需要先创建对象,通过对象调用。
Person *p = [Person new]; [p text];
- 函数可以直接调用
-
方法归属于类,函数是独立存在的。
注意
- 类之中一般不会定义函数,不要把函数写到类之中。