可能重复:
What do the plus and minus signs mean in Objective C next to a method?加号(+)与减号( - )在Objective-C
什么是使用Objective-C的正负之间的区别?
例如,大多数的时间码开始-(void)somethingSomethingelse
,但有时它会+(void)somethingSomethingelse
谢谢!
可能重复:
What do the plus and minus signs mean in Objective C next to a method?加号(+)与减号( - )在Objective-C
什么是使用Objective-C的正负之间的区别?
例如,大多数的时间码开始-(void)somethingSomethingelse
,但有时它会+(void)somethingSomethingelse
谢谢!
总之,(+)是一类方法和( - )是一个实例方法
看到这个答案更全面的解释 What is the difference between class and instance methods?
构件和分别公共功能。
这样
id object = [[NSObject alloc] init];
+ (id)alloc;
- (id)init;
凡NSObject的是一个class和id是如果你曾经使用C++对象
,A +等同于静态
-
功能实例功能, +
函数是类(静态)函数。
因此,让我们假设你有一个叫Person
类,以及以下功能
-(void)doSomething;
+(void)doSomethingElse;
你会调用这些功能有以下:
Person *myPerson = [[Person alloc] init];
[myPerson doSomething];
[Person doSomethingElse];
这更多的是一种语法描述,假设你明白VS类实例的概念。
编辑:
只是补充:在Objective-C,你实际上可以调用的一个实例类的功能,但效果并不比调用它的类本身(基本上是编译成不同一样)。
所以,你可以做
[myPerson doSomethingElse]
一般来说,你不会做这个,因为它是混乱和误导性的阅读。我指出它,所以如果你遇到类似这样的代码,你不会感到惊讶。