2009-05-05 39 views
2

用Cocoa/Obj-C声明时, - 和+之间有什么区别?可可 -/+声明

例如 -(void)doSomething{}+(void)doSomething{}

+3

当然,真正的答案是不要试图通过问Stack Overflow的最基本的问题来学习Cocoa。买一本好书,并通过它工作;你不会后悔的。 – 2009-05-05 09:41:25

回答

12

-”是指实例方法(意味着相对于特定对象),而“+”意指方法(通过在一个类意味着可用一般它不”不得不被绑定到特定的对象)。

实施例:

对于 “- (void)doSomething ”:

MyClass *obj = [[MyClass alloc] init]; 
[obj doSomething]; 

VS

[MyClass doSomething]; 

为“ + (void)doSomething”。

3

只是为了一点点的比喻添加到HTW的回答是:

  • +是什么静态方法将是C++,C#或Java
  • - 是什么非静态的(普通)方法将使用C++,Java的C#