+-方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了+-方法相关的知识,希望对你有一定的参考价值。

首先来说,加号方法和减号方法在调用上是有区别的:加号方法是类方法,调用的时候使用类名进行调用,减号方法是对象方法,调用的时候使用对象名进行调用。

以alloc方法和init方法为例:

People *p1 =[[People alloc]init];

alloc是一个类方法,因此调用的时候采用类名People进行调用,但init实际上是一个对象方法,在这里[People alloc]相当于是对对象进行了实例化,分配了内存空间,因此init相当于是一个对象方法。

一个方法(函数)使用时一般是三个步骤,声明,实现,调用,声明是在类的.h文件中进行的,实现实在类的.m文件进行的。调用则是在其他类的.m文件中进行的,比如说main.m。

其次,加号方法和减号方法是可以互相调用的,减号方法中调用加号方法直接使用类名就可以调用,加号方法中调用减号方法则需要实例化对象。

另外,关于成员变量的调用两者也不相同,对于减号方法,声明一个成员变量可以直接调用,而加号方法想要调用成员变量,只能声明一个静态的成员变量。

#import "People.h"

@implementation People
{
    NSString *_peopleName;
}

static NSString *_peopleName1;

-(void)report
{
    NSLog(@"-号:report");
    //[People report1];
    _peopleName = @"123";
}
+(void)report1
{
    NSLog(@"+号:reprot1");
    [[People alloc] report];
    _peopleName1 = @"张三";
}
@end

 最后,对于函数或者方法来说,有以下几点概念:

1.返回值类型:函数名前面的括号内代表的即是返回值类型,如果没有返回值则可以使用(void)

2.参数:函数名冒号之后的部分就是参数,参数包含参数类型和参数名两部分

3.函数名:去掉函数类型,去掉参数类型,去掉参数名,剩下的就是函数名。

因此可以说,函数声明部分由函数(返回值)类型,参数类型,参数名,函数名四个部分组成。

//函数名showWithA: andB:
-(int) showWithA:(int)a andB:(int)b

 

以上是关于+-方法的主要内容,如果未能解决你的问题,请参考以下文章

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数

VSCode自定义代码片段8——声明函数