1、如果想创建实例方法使用“-”,类方法用“+ "。
2、选择一个返回类型,用括号包住这个类型。(void)意味着没有返回值, (BOOL)意味着返回一个boolean类型的值。 (NSObject *)返回一个NSObject实例,别忘记(id)。
3、给方法起个名字,通常用小写字母开头,例如:sendEmailTo 。
4、如果你不想使用参数直接跳转到9。
5、(oc非常恶心但是同样是非常有意义的机制)给你的参数选择两个名字,第一个会变成方法名称的一部分,然后被用于外部调用时(这个是可选的,除了第一个参数)。另一个名字会被用于方法内部,对于方法的第一个参数的第一个名字来说这个是例外(其实第一个参数的名称可以近似认为是方法名称)。对于第一个参数你只需要选择第二个名字就行了。
6、选择完名字之后,你需要给参数选择类型,类型用括号包起来。
7、(对于非第一个参数来说)在参数的第一个名字后面加上":"号,然后加上6中的类型,后面在跟上参数的第二个名字。
8、添加其它参数请重复5-7的步骤。
9、在方法名称或者参数后面加入{}即可。
- (BOOL) sendEmailTo:(NSString *)paramTo withSubject:(NSString *)paramSubject andEmailMessage:(NSString *)paramEmailMessage{ /* Send the email and return an appropriate value */ if ([paramTo length] == 0 || [paramSubject length] == 0 || [paramEmailMessage length] == 0){ /* One or some of the parameters are empty */ NSLog(@"Empty parameter(s) is/are provided."); return NO; } return YES; }
对于调用方法,你可以这样:
[self sendEmailTo:@"someone@somewhere.com"
:@"My Subject"
:@"Please read my email."];
也可以这样:
[self sendEmailTo:@"someone@somewhere.com"
withSubject:@"My Subject"
andEmailMessage:@"Please read my email."];
还是后者比较容易读懂代码。
当你想创建类方法时,基本和定义实例方法差不错,当你开始做的时候记住以下几点:
1、用”+“代替”-“。
2、在类方法中可以使用self关键字(没明白,似乎实例方法中也可以啊)。
类方法对于想要提供一些新的对象初始化方法来说很有用,比如定义一个名字为 allocAndInit的方法,可以实现分配和初始化两个工作。