关于Objective-c程序的方法名前为什么有的加星号有的不用加? 加*号代表什么含义?

有没有人讲详细点的,我想教下,关于Objective-c程序的方法名前为什么有的加星号有的不用加? 加*号代表什么含义?
最新回答
枫林渡口初相遇

2024-09-26 03:20:18

*一般是加在方法的返回值类型声明部分的,比如:
-(NSString *)executeSomeThing;
+(NSString *)executeAnotherThing;

-(int)addOne;

+(int)addTwo;

从上面可以看出,*是用来表示返回值是指针类型的数据,比如NSString、NSArray、NSNumber等等。
没有*的返回值类型通常都是简单类型,比如int、布尔等等
+表示该方法是类方法,不需要实例化该类就可以调用。
-表示该方法是实例方法,必须要实例化后才能调用。
战皆罪

2024-09-26 02:02:23

声明变量时加*号的是指针变量,是用来存放对象的指针的。没有加*的是基本数据类型(int,float之类的)或者结构体等等,非对象。这个在函数前面的,就是函数的返回值类型了,和声明变量的规则一样的
解桑陌

2024-09-26 00:28:24

能说一下你指的是哪个*好吗?还是说+号,+号代表该方法是类方法,-号代表该方法是实例方法。
恶魔女狱长

2024-09-26 02:02:57

对于返回值为基本类型的方法不加*
其他的类型都要加*