Cocoa - / +声明

时间:2009-05-05 01:39:28

标签: objective-c cocoa

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

e.g。     -(void)doSomething{} 要么     +(void)doSomething{}

2 个答案:

答案 0 :(得分:12)

-”表示实例方法(意味着相对于特定对象),而“+”表示方法(一般来说,它可以被一个类使用 - 它不必绑定到特定的对象。)

示例:

对于“- (void)doSomething”:

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

VS

[MyClass doSomething];

代表“+ (void)doSomething”。

答案 1 :(得分:3)

只是为htw的答案添加一些类比:

  • +用于C ++,C#或Java
  • 中的静态方法
  • - 用于C ++,C#of Java
  • 中的非静态(常规)方法