方法旁边的目标C中的正号和负号是什么意思?

我在目标c和xcode中都是新手。我想知道方法定义旁边的+和-符号的含义。


- (void)loadPluginsAtPath:(NSString*)pluginPath errors:(NSArray **)errors;


ibeautiful
浏览 567回答 3
3回答

慕码人8056858

+用于类方法和-实例方法。例如// 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".还有另一个问题涉及类方法和实例方法之间的区别。

料青山看我应如是

(+)代表类方法,(-)代表实例方法,(+)类方法:-是声明为静态的方法。可以在不创建类实例的情况下调用该方法。类方法只能对类成员操作,而不能对实例成员操作,因为类方法不知道实例成员。除非在该类的实例上调用它们,否则也不能从该类方法内调用该类的实例方法。(-)实例方法:-另一方面,需要先存在该类的实例,然后才能调用它们,因此需要使用new关键字创建一个类的实例。实例方法在类的特定实例上运行。实例方法未声明为静态。如何创建?@interface CustomClass : NSObject+ (void)classMethod;- (void)instanceMethod;@end如何使用?[CustomClass classMethod];CustomClass *classObject = [[CustomClass alloc] init];[classObject instanceMethod];
打开App,查看更多内容
随时随地看视频慕课网APP