What do the plus and minus signs mean in Objective-C next to a method?(Objective-C中方法旁边的加号和减号是什么意思?)
问题描述
在 Objective-C 中,我想知道方法定义旁边的 +
和 -
符号是什么意思.
In Objective-C, I would like to know what the +
and -
signs next to a method definition mean.
- (void)loadPluginsAtPath:(NSString*)pluginPath errors:(NSArray **)errors;
推荐答案
+
用于类方法,-
用于实例方法.
+
is for a class method and -
is for an instance method.
例如
// Not actually Apple's code.
@interface NSArray : NSObject {
}
+ (NSArray *)array;
- (id)objectAtIndex:(NSUInteger)index;
@end
// somewhere else:
id myArray = [NSArray array]; // see how the message is sent to NSArray?
id obj = [myArray objectAtIndex:4]; // here the message is sent to myArray
// Btw, in production code one uses "NSArray *myArray" instead of only "id".
还有另一个处理类和实例方法之间区别的问题.
这篇关于Objective-C中方法旁边的加号和减号是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!