可能重复:
Objective-C:类与实例方法?
为什么我们在 iOS 中的方法名前加上“+”或“-”号。请帮助我了解符号逻辑,这有什么区别?
可能重复:
Objective-C:类与实例方法?
为什么我们在 iOS 中的方法名前加上“+”或“-”号。请帮助我了解符号逻辑,这有什么区别?
它与符号无关;
+
意味着该方法是一个类方法,也就是说,它对类本身而不是实例进行操作(或者更确切地说,它的范围是)。许多其他语言中对应的东西是static
.
-
表示该方法是实例方法,即对类的实例进行操作。
`@interface MyClass : NSObject
{
}
+(id) someMethod; // declaration of class method
-(id) someMethod; // declaration of instance method
@end`
实例方法应用于类的实例,因此它们需要应用对象并可以访问其调用者的成员。
另一方面,类方法适用于整个类,它们不依赖于任何对象。
检查此链接以获取正确的知识链接
前导 + 号表示类方法,- 号表示实例方法。
旁注:这里不应该问这个问题 - 更仔细地阅读该教程。
-
前缀表示实例方法,前缀+
表示类(或静态)方法。
有关更多信息,请参阅此(和许多其他)SO 帖子。