OC的方法声明
OC中的方法是一段用来完成特定功能的代码片段。
声明的格式:方法类型 (返回类型)方法名:(参数类型)参数名;
例如:- (void) method: (string) arg;
方法类型:包括视力方法和类方法,实例方法用减号“-”表示,类方法用加号“+”表示。例如类方法:+ (People *) coolPeople;
返回值:方法在执行完后返还给调用它的环境的数据。
返回类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void,这个方法的返回值是void表示为空。
方法名:这个方法的方法名为“method:”,有时候可能是分开的方法名,例如:- (id) initWithName:(string) _name age:(int) _age;
参数类型:分为形参和实参,形参在方法被调用时用于接受外界输入的数据,实参是调用方法时实际传递给方法的数据。这个方法的类型为字符串,arg表示参数的名称。
OC的方法调用中,参数传递遵循的原则是:基本数据类型传递的是数据值本身,指针类型传递的是对象的指针,而不是对象本身。
OC的方法调用
OC语言中采用特定的语言调用类或者实例的方法称为发送消息。
OC中方法的调用有两种:
1. [类名或对象名 方法名];
例如:[Person name];
如果一个实例或者类本身需要传入多个参数,就会这样调用方法:
[Person setName:Jone setAge:21];
其中“name:age:”就是方法名称。方法嵌套是由内而外调用方法的,例如
[[Person setName:Jone] setAge:21];
这个消息嵌套的调用顺序是,先执行name方法,返回值又调用age方法。
2. 对象名.方法名;
点语法在iOS中一般不常用,经常用到的是第一种调用方法,点语法的本质是调用get方法和set方法。例如:
Person.age = 21;
相当于:
[Person setAge:21];