可能重复:
Objective-C: Class vs Instance Methods?
Objective-C - difference between class method and static method?Objective-C中的实例方法和类方法有什么区别?
在ObjC,方法名前的一个破折号意味着它是一个实例方法。方法名前的加号意味着它是一个类方法。但编程有什么区别?
可能重复:
Objective-C: Class vs Instance Methods?
Objective-C - difference between class method and static method?Objective-C中的实例方法和类方法有什么区别?
在ObjC,方法名前的一个破折号意味着它是一个实例方法。方法名前的加号意味着它是一个类方法。但编程有什么区别?
实例方法被调用的对象。类方法被调用。
例如行:
SomeClass *object = [[SomeClass alloc] init];
在这里你可以看到,“黄金”适用于“SomeClass的”,而不是“对象”。
鉴于: [object callMyFunction];
将作用于“对象”而不是“类”。这是一个实例方法。
与这两个主要的区别是单破折号前一个即之前仅由在声明即一个必须创建该类的一个实例类的实例调用意味着该类一个对象,使用.
可调用实例方法
中的方法,以后可以直接使用类名来调用。要调用类方法,不需要任何对象。
请从苹果开发人员参阅this link文件
类方法和实例方法之间的差别在于一个 实例方法需要在其上它将 (一般)操作类的一个实例。调用实例方法必须将消息 发送到类的一个实例。
可能是最常见单次使用的类的方法是对象 工厂;您发送一类的消息,以创建一个实例 根据你所发送的参数配置。例如在 可可的NSString类有一个名为 stringWithSomethingOrOther几类方法:将创建一个新的NSString对象和 一方面它回到你身边。
在另一方面,NSString的也有很多实例方法 - 操作这真的没有意义,而不实际情况与 工作。一种常用的方法可能是长度方法,该方法告知 您发送消息的特定NSString实例中有多少个字符。
也看到这一点。 What is the difference between class and instance methods?
这里http://stackoverflow.com/questions/1053592/objective-c-class-vs-instance-methods – Chuidiang